Skocz do zawartości

Problem z przejściem do drugigo room'u


Rekomendowane odpowiedzi

Siemka,

Od niedawna zajmuję się pracą w GM i mam pewien problem. Chodzi o przejście z jednego room'u do drugiego. W mojej grze chodzi o wyminięcie obrońców i wejście piłką do bramki :P. I tutaj pojawia się problem. Chciałbym, aby po zdobyciu 3 goli zmienił się room na następny(tak parę razy, gdyż ta gra będzie tak jakby levelowa :P). Napisałby mi może ktoś skrypt, który odzwierciedlałby tą funkcję?

 

Z góry ThX!!!

Odnośnik do komentarza
Udostępnij na innych stronach

W create czegos, co tworzy sie na poczatku roomu

GML
gol=0;

 

Kolizja pilki z bramka:

GML
gol+=1; // Dodaje gola

if (gol==3){ // Jezeli strzelono 3 gole

room_goto_next(); // Przechodzi do nastepnego roomu

}

instance_destroy(); // Niszczy pilke (Mozna usunac, nie wiem na jakiej podstawie dziala ta twoja gra :P Jezeli usuwa pilke to ta linijka moze zostac :)

Odnośnik do komentarza
Udostępnij na innych stronach

Bo to zrobiłem metodą drag&drop, czy jakoś tak :P... Tutaj całe info o piłeczce:

GML
Information about object: obj_ball

 

Sprite: spr_ball

Solid: false

Visible: true

Depth: 0

Persistent: false

Parent: <no parent>

Mask: <same as sprite>

 

Create Event:

execute code:

 

if (global.goal ==3){ // Jezeli strzelono 3 gole

room_goto_next(); // Przechodzi do nastepnego roomu

}

 

Collision Event with object obj_bramka:

bounce not precisely against solid objects

 

Collision Event with object obj_linia_bramkowa:

set the score relative to 1

jump to the start position

start moving in directions 000010000 with speed set to 0

 

Collision Event with object obj_defender-dol:

set the number of lives relative to -1

jump to the start position

start moving in directions 000010000 with speed set to 0

 

Collision Event with object obj_linia boiska-pion:

bounce not precisely against solid objects

 

Collision Event with object obj_linia_boiska-poziom:

bounce not precisely against solid objects

 

Collision Event with object obj_goalkeeper:

set the number of lives relative to -1

jump to the start position

start moving in directions 000010000 with speed set to 0

 

Keyboard Event for Keypad 1 Key:

start moving in directions 100000000 with speed set to 2

 

Keyboard Event for Keypad 2 Key:

start moving in directions 010000000 with speed set to 2,5

 

Keyboard Event for Keypad 3 Key:

start moving in directions 001000000 with speed set to 2

 

Keyboard Event for Keypad 4 Key:

start moving in directions 000100000 with speed set to 2,5

 

Keyboard Event for Keypad 5 Key:

start moving in directions 000010000 with speed set to 0

 

Keyboard Event for Keypad 6 Key:

start moving in directions 000001000 with speed set to 2,5

 

Keyboard Event for Keypad 7 Key:

start moving in directions 000000100 with speed set to 2

 

Keyboard Event for Keypad 8 Key:

start moving in directions 000000010 with speed set to 2,5

 

Keyboard Event for Keypad 9 Key:

start moving in directions 000000001 with speed set to 2

Odnośnik do komentarza
Udostępnij na innych stronach

Create Event:

execute code:

 

if (global.goal ==3){ // Jezeli strzelono 3 gole

room_goto_next(); // Przechodzi do nastepnego roomu

}

 

Jak mogles ten kod dac w CREATE?! :o

 

EDIT:

 

Daj ten kod w kolizji z linia bramkowa i zamiast global.goal daj score :) Powinno dzialac :) Ale przy przechodzeniu do nastepnego roomu badz pewien ze kasujesz score :)

Odnośnik do komentarza
Udostępnij na innych stronach

Właśnie mam nadzieję skasować score. Bo ta gra to tak jakby turniej ;P

I wielkie dzięki dla ciebie. Teraz wskoczyło.

Aha, mam jeszce jedno pytanie - czy przy każdym roomie po zdobyciu 3 goli przejdzie do następnego??

 

______________

EDIT:

Dlaczego po przejściu do next room nie kasuje się score??

Odnośnik do komentarza
Udostępnij na innych stronach

Najprawdopodobniej gdy nie masz zycia, cofa cie do pierwszego roomu (sam tak zrobiles), a przy kolizji odejmuje ci zycie co step, wiec w 1 sekunde mozesz zginac :) Ustaw sobie alarmy, na ktorych ustawisz sobie ze np. co 2 sekundy ktos moze cie zaatakowac :)

Odnośnik do komentarza
Udostępnij na innych stronach

W create czegos, co tworzy sie na poczatku roomu

GML
gol=0;

 

Kolizja pilki z bramka:

GML
gol+=1; // Dodaje gola

if (gol==3){ // Jezeli strzelono 3 gole

room_goto_next(); // Przechodzi do nastepnego roomu

}

instance_destroy(); // Niszczy pilke (Mozna usunac, nie wiem na jakiej podstawie dziala ta twoja gra :P Jezeli usuwa pilke to ta linijka moze zostac :)

 

Przecież to jest źle <_<

 

Zamień gol na global.gol i będzie działać...

Odnośnik do komentarza
Udostępnij na innych stronach

Co ty tu masz zle? Na poczatku ustawia gole na 0. Po kolizji pilki z bramka dodaje jeden gol i jezeli te gole sa rowne 3 przechodzi do nastepnego roomu. Ja tu nie widze bledow...

 

@Rav Royal: widze, ze gdy pilka zderza sie z obronca, odejmuje jedno zycie. A gdy zyc jest 0, gra automatycznie cofa sie do 1 roomu. Ustaw gdzies na poczatku lives=3 lub ile tam chcesz.

Odnośnik do komentarza
Udostępnij na innych stronach

No ale sytuacja jest następująca:

Początek gry:

-room1

-score: 0

-lives: 3

 

W pierwszym room'ie po zderzeniu z obrońcą odejmuje 1 życie, ale przy sytuacja takiej:

-room2

-scores: (dowolnie, ale < 3)

-lives: 3

po zderzeniu z obrońcą cofa mnie do room1 i ustawia tak:

-score: 0

-lives: 3

 

:|

 

Kapujecie?? Jak nie to piszcie na gg: 5756307

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