Skocz do zawartości

Combosy


gothicner

Rekomendowane odpowiedzi

Witam! w evencie "relase space" mam kolejno

 

if global.combo = 0

{

global.combo = 1

}

______________________

 

 

if global.combo = 1

{

global.combo = 2

}

 

_________________________

 

 

if global.combo = 2

 

{

 

global.combo = 3}

 

________________________

 

 

 

if global.combo = 1{

 

sprite_index=KratosCombo

 

}

 

________________________

 

 

 

if global.combo = 2{

 

sprite_index=KratosCombo2

 

}

 

 

________________________

 

 

if global.combo = 3{

 

sprite_index=KratosCombo3

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

(każdy w osobnym skrypcie oczywiście) I mam taki problem: Sprite odrazu zmienia się w KratosCombo3 a w iine nie. I system combosów nie działa. Jak to zmienić? (Proprosiłbym przykład, ale sam kod tez może być). Za pomoc z góry dziękuję

 

Odnośnik do komentarza
Udostępnij na innych stronach

Bo najpierw obliczasz globalne i automatycznie wynik jest global.combo=3

 

na twoim miejscu zrobił bym ok 2 sekundowego opóźnienia np. alarmem,

i sprawdzaniem czy poprawnie kombo zostało wciśnięte, jak nie to coommmbo braker :P

 

np. to mogło by wyglądać tak:

 

GML (step)
//a key\\

if keyboard_check_pressed(ord('A'))

{

pom+=1

switch (pom)

{

case 1: global.combo=1

sprite_index=spr_lfist

alarm[0]=60

break;

 

case 2:

if global.combo=2

{

sprite_index=spr_rfist

alarm[0]=60

}

else pom=0

break;

 

case 3:

global.combo=1

sprite_index=spr_speenkick

alarm[0]=60

break;

 

default: pom=0

break;

}

}

 

//b key\\

if keyboard_check_pressed(ord('B'))

{

pom+=1

switch (pom)

{

case 1: global.combo=2

sprite_index=spr_lfist

alarm[0]=60

break;

 

case 2:

if global.combo=1

{

sprite_index=spr_rkick

alarm[0]=60

}

else pom=0

break;

 

case 3:

global.combo=2

sprite_index=spr_headattak

alarm[0]=60

break;

 

default: pom=0

break;

}

}

 

GML (alarm 0)
if pom!=0

{

pom=0

global.combo=0

}

 

GML (create)
pom=0

global.combo=0

 

Nie gwarantuje że kod będzie działać wymyśliłem go w biegu :P

Odnośnik do komentarza
Udostępnij na innych stronach

Ja bym po prostu dał coś takiego.

GML
if global.combo = 0

{

global.combo = 1;

sprite_index=KratosCombo;

//reszta akcji

}

else if global.combo = 1

{

global.combo = 2;

sprite_index=KratosCombo2;

//reszta akcji

}

else if global.combo = 2

{

global.combo = 3;

sprite_index=KratosCombo3;

//reszta akcji

}

Odnośnik do komentarza
Udostępnij na innych stronach

Ja bym po prostu dał coś takiego.

Fakt faktem zależy o jakie mu combo chodzi, ja bardziej napisałem kod na sekwencje wciśniętych przycisków tworzących kombo

A mógłbym poprosić przykład? Bo jak to robie to nic się nie dzieje. Error tez nie wyskauje

mi o dziwo ten kod działa (zrobiłem małe modyfikacji jak zmienna time, 2 sekundy było za dużo na reakcje gracza :P, i animacje na image single a nie osobnych spritach ale i tak powinno działać)

 

 

https://gmclan.org/uploader/634/tet.gm6

 

xzx - combo head attak

 

zxz - combo spinn kick :P

 

(Oczywiście to tylko przykład w ten sposób można znacznie bardziej rozbudować system kombosów)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

https://gmclan.org/index.php?plik=77

 

Mój przykład zrobiony 4 lata temu, ale do starej wersji gma, więc musisz się w takową zaopatrzyć, albo jakimiś konwerterami to przerobić.

 

update: działa pod gm7 (trzeba wybrac filtr przy otwarciu: old game maker files). Pod gm8 nie sprawdzalem.

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ę...