Skocz do zawartości

Zablokowane Spadanie z wysokości


Mosiek

Rekomendowane odpowiedzi

Witam.

1.Jak zrobić, żeby po spadnięciu z wysokości od 100 do 199 pixeli traci 20hp a jak spadnie z wysokości 200 lub większej traci 40 hp ??

2. Jak zatrzymać grawitacje mam skrypt na pauze i nie wiem jak ją zatrzymać, jak dam na 0 to albo powoli leci do góry albo powoli spada i ja chce żeby po naciśnięciu Esc i włączeniu pauzy gracz ani nie spadał ani nie leciał do góry tylko wisiał w powietrzu. Jak to zrobić?

 

Z góry dziękuje.

Odnośnik do komentarza
Udostępnij na innych stronach

Podpowiem że "vspeed" to szybkość po osi y w pikselach. ;p

czyli tak gdzie masz kolizje z klockiem czy czymśtam , daj:

if vspeed> 100 && vspeed<200 hp-=20 else

if vspeed> 200 hp-=40

Czytales to?

Skoro vspeed to predkosc w pionie to przy kolizji (po spadku) sprawdzasz ta predkosc

Wiadomo ze im dluzej tym szybciej sie spada wiec to juz dalej jest logiczne

Odnośnik do komentarza
Udostępnij na innych stronach

wiesz co Ci powiem?? Nie wiem jak to zrobić... olać skoro nie potrafię a nikt mi tego nie chce powiedzieć to trudno moja postać będzie mogła skakać z wysokości 10000 pixeli ale nie zabije się to może być przyjemne :)i przyśpieszy to schodzenie z wysokości... wciąż czekam na odpowiedź do pytania drugiego...

Odnośnik do komentarza
Udostępnij na innych stronach

w kolizji z bloczkiem ten kod

GML
if vspeed>5 { health -= vspeed*3 }

??

tylko że ja mam w osobnym evencie kolizje i mam tam taki kod:

GML
if (other.solid==false) exit;

{

move_contact_solid(270,4);

vspeed=0

}

to ja tak podejrzewam że trzeba zastąpić vspeed tylko jak zastąpię twoim kodem to nie ujmuje hp jak napisze normalnie pod tym też nie ujmuje

Odnośnik do komentarza
Udostępnij na innych stronach

@Matyxon: i po co piszesz te zbędne posty? :blink:

 

@Mosiek:

Co do 1 pyt. W kolizji z podłożem daj:

GML
if (vspeed >= 100 && vspeed <= 199)

{

health -= 20;

}

if (vspeed >= 200)

{

health -= 40;

}

A co do tego 2 pyt. to się namyślę (xD) i jak coś to dam odpowiedź w edicie.

 

Pozdrawiam Bedi :)

Odnośnik do komentarza
Udostępnij na innych stronach

Ustawiasz vspeed 0 więc jak ma wykonać tą akcję, skoro żaden z warunków się nie spełnia? Może się mylę, ale wydaje mi się, że to jest powodem tego denerwującego błędu.

Odnośnik do komentarza
Udostępnij na innych stronach

Create:

v = 0

 

Step:

if vspeed>0 && vspeed<1 { v = y }

 

Collis z bloczkiem:

if v<y-500 { health -= 10 }

v jest 0. Jeśli "chodzenie pionowe" (xD) jest większe niż 0, ale mniejsze niż 1 to v jest równe Twojej pionowej pozycji.

Jeśli Twoja pionowa pozycja jest mniejsza niż Twoja pionowa pozycja - 500, odejmuj 10 hp.

 

Co za tym idzie? oO

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...