Skocz do zawartości

podwójny skok


trolu122

Rekomendowane odpowiedzi

GML
if keyboard_check_pressed(vk_up)

and jump = 0

and gravity=0

and place_free(x,y-skok)

{

vspeed = -skok

jump = 1

}

if keyboard_check_released(vk_up)

and jump = 1

{

jump = 2

}

if keyboard_check_pressed(vk_up)

and jump=2

and skok2=1

and place_free(x,y-skok)

{

vspeed = -skok

jump=1

skok2 = 0

}

 

skok2 oznacza czy mozemy wykonać drugi skok 0=nie mozemy 1=mozemy

 

wartość skok=15 i.... jak robie "double jump" to koleś skacze niżej :hmmm: zrobiłem żeby wyświetlało wartość vspeed, przy skoku pierwszym jest tak jak być powinno -15, ale już przy drugim na początku skoku mamy -13,8 :hmmm: w kodzie wszystko ok, wiec o co chodzi?

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

Nie wiem, nie znam się, specjalnie się w twój kod nie zagłębiałem (bo widzę leciutki syf) i jedyne co mi przychodzi do głowy to to że zamiast vspeed=-skok powinno być vspeed-=skok. Jak powiedziałem coś bardzo głupiego to przepraszam.

Odnośnik do komentarza
Udostępnij na innych stronach

wtedy spamujac przyciskiem pofrunalbys w kosmos

 

czy mi sie zdaje, czy wcisniecie raz powoduje skok i zmiane jump na 1, potem na 2 i potem w tym samym stepie jeszcze robi drugi skok?

 

GML
if keyboard_check_pressed(vk_up)and jump = 0and gravity=0and place_free(x,y-skok){

vspeed = -skok

jump = 1

}

if keyboard_check_released(vk_up) and jump = 1{

jump = 2

}

if keyboard_check_pressed(vk_up) and jump=2 and skok2=1 and place_free(x,y-skok)

{

vspeed = -skok

jump=1

skok2 = 0

}

vs

GML
if keyboard_check_pressed(vk_up){

switch(jump){

case 0:

if gravity=0 and place_free(x,y-skok){

vspeed = -skok

jump = 1

}

break;

case 1:

vspeed = -skok

jump=1

skok2 = 0

break;

}

}

 

moglem sie gdzies walnac bo dawno nic nie robilem

Odnośnik do komentarza
Udostępnij na innych stronach

Hint na przyszłość: nie ma sensu używać switcha dla jednego warunku.

GML
if keyboard_check_pressed(vk_up){

if(jump){

if gravity=0 and place_free(x,y-skok){

vspeed = -skok;

jump = 1;

}

}

else {

vspeed = -skok;

jump = 1;

skok2 = 0;

}

}

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

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