Skocz do zawartości

Punkty i życie


kudlatty

Rekomendowane odpowiedzi

Cześć!

Robię prostą grę w Game Makerze (chodzisz po labiryncie, zbierasz punkty itp.)

Chcę żeby po zebraniu elementu zostały naliczone punkty. I tutaj pojawia się mój problem;) Po pierwsze jak zrobić, żeby sprite zbierał te elementy, a po drugie, żeby po zebraniu tego elementu naliczał się punkt. Na końcu chciałem jeszcze zrobić metę, po której przekroczeniu pojawiał by się napis "Brawo!", czy coś w tym stylu:)

Z góry dziękuje za pomoc

kudlatty

Odnośnik do komentarza
Udostępnij na innych stronach

Cześć!

Robię prostą grę w Game Makerze (chodzisz po labiryncie, zbierasz punkty itp.)

Chcę żeby po zebraniu elementu zostały naliczone punkty. I tutaj pojawia się mój problem;) Po pierwsze jak zrobić, żeby sprite zbierał te elementy, a po drugie, żeby po zebraniu tego elementu naliczał się punkt. Na końcu chciałem jeszcze zrobić metę, po której przekroczeniu pojawiał by się napis "Brawo!", czy coś w tym stylu:)

Z góry dziękuje za pomoc

kudlatty

 

Musisz użyć 'destroy' przy kolizji Twojego bohatera z elementem i dac mu jak się niszczy to np:

global.punkt +=1

ale najpierw daj gdzieś w create global.punkt=0

Odnośnik do komentarza
Udostępnij na innych stronach

jesli chodzi o zbieranie punktow, to jest event collision, wykonujacy sie przy kolizji (^^), mozesz w nim dodać punkty i zniszczyć ten punkcik najechany, np:

 

GML
global.pkt+=1

with(other) instance_destroy()

w obiekcie gracza w evencie kolizji z punktem.

 

Tak samo w evencie kolizji gracza z metą możesz dać

GML
show_message("Brawo!")
i ewentualnie

GML
room_goto_next()
jeśli chcesz przejść do następnej planszy.

 

ewentualnie:

GML
if(room==nazwa_ostatniej_mapy){

room_goto_next()

}else{

show_message("Brawo!")

game_restart()

}

Czyli przechodzi do następnych plansz, a na ostatniej wyswietla info

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki wielkie!

Mam jeszcze tylko problem ze zbieraniem punktów (albo jestem wyjątkowo tępy;) ) A mianowicie wyskakuje mi błąd, że jest coś nie tak w pierwszej linijce...

Dokładniej:

ERROR

in action number 3

of colision event with object 4

 

In script script1:

Error in code at line 1

tutaj skrypt

at postion 1: Unknow variable pkt

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki wielkie!

Mam jeszcze tylko problem ze zbieraniem punktów (albo jestem wyjątkowo tępy;) ) A mianowicie wyskakuje mi błąd, że jest coś nie tak w pierwszej linijce...

Dokładniej:

ERROR

in action number 3

of colision event with object 4

 

In script script1:

Error in code at line 1

tutaj skrypt

at postion 1: Unknow variable pkt

 

musisz dać w 'create' obiektu ile ma mieć pkt na początku np. 0 (zero)

Odnośnik do komentarza
Udostępnij na innych stronach

Czekaj, czekaj... (sorry, ale dzisiaj dopiero odpaliłem programik;) ) W create mam jakiś skrypt też wpisać?

 

Poczytaj o eventach, koilejności ich wykonywania itp. to wszystko jest na forum.

 

Najważniejsze przy błedach to czytać ich treść, twój mówi że gra nie wie co to jest zmienna "pkt" np przy zderzeniu masz napisane żeby zwiększyło pkt ale gra nie ma pojecia o co ci chodzi bo nigdzie jej nie napisałeś do czego ma dodawać. Musisz więc w create( kody tutaj wykonują sie tylko raz gdy tworzysz dany obiekt ) powiedzieć grze że chcesz by istniało coś takiego jak punkty.

Dajesz więc np kod:

pkt=0;

 

i gra teraz wie że na start gracz ma 0 pkt i potem możesz do tego dodawać.

 

I nie dajesz skryptów tylko klocek control->execute_code( czy jakoś tak, odskryptów różni się tym że nie ma zielonej strzałki chyba )

Odnośnik do komentarza
Udostępnij na innych stronach

ale co to są global.pkt?

mówisz grze by dodała do global.pkt jeden ale ile to jest global.pkt w momencie gdy gracz zderza się z drugim obiektem?

Zastanów się na tym sam ktoś przychodzi do ciebie i mówi dodaj mi jeden do pkt( i co mu odpowiesz skoro nie wiesz ile wynosi w danym momencie pkt? )

musisz ustawić startową ilość punktów na 0 w evencie create( tam gdzie masz kolizje itp )

 

+sprite to tylko grafika, kod jest obiektach

Odnośnik do komentarza
Udostępnij na innych stronach

Mam ustawić w create np, global.pkt=0, czy pkt=0.

Robiłem tak jak mówiłeś i rozumiem to o czym piszesz, ale gdy w create dałem pkt=0 dalej miałem ten sam problem.

 

Wiem, że Sprite to grafika, tak po prostu na szybko to nazwałem:)

 

Edit: Udało się:) Już wiem o co chodzi;) Dziękuj bardzo wszystkim:)

Odnośnik do komentarza
Udostępnij na innych stronach

prosty przyklad, mozna duzo zmienic k lepszsemu :) ale teraz jest latwy na zrozumienie.

 

GML
// W o_gracz zrob eventy:

// event create:

_zycie=3;

_xstart=x; // start pozycja

_ystart=y;

 

// event collision z o_sciana:

_zycie-=1;

x=_xstart; // powrot na start

y=_ystart;

 

// event step:

if ( _zycie<1) {

show_message("Koniec gry"); // kod na ukonczenie gry

game_restart(); // zacni odnowa

};

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