kudlatty Opublikowano 29 Listopada 2013 Udostępnij Opublikowano 29 Listopada 2013 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 Więcej opcji udostępniania...
smartboy Opublikowano 29 Listopada 2013 Udostępnij Opublikowano 29 Listopada 2013 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 Więcej opcji udostępniania...
karolo320 Opublikowano 29 Listopada 2013 Udostępnij Opublikowano 29 Listopada 2013 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 Więcej opcji udostępniania...
kudlatty Opublikowano 29 Listopada 2013 Autor Udostępnij Opublikowano 29 Listopada 2013 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 Więcej opcji udostępniania...
smartboy Opublikowano 29 Listopada 2013 Udostępnij Opublikowano 29 Listopada 2013 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 Więcej opcji udostępniania...
kudlatty Opublikowano 29 Listopada 2013 Autor Udostępnij Opublikowano 29 Listopada 2013 Czekaj, czekaj... (sorry, ale dzisiaj dopiero odpaliłem programik;) ) W create mam jakiś skrypt też wpisać? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Danielus Opublikowano 29 Listopada 2013 Udostępnij Opublikowano 29 Listopada 2013 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 Więcej opcji udostępniania...
kudlatty Opublikowano 29 Listopada 2013 Autor Udostępnij Opublikowano 29 Listopada 2013 Kurcze, robie niby tak jak czytałem, a dalej nie bangla. Ok, dajmy na to, że mam tak: Sprite1- nim się poruszam Sprite2- on ma zniknąć gdy Sprite1 zderzy się z nim. Wpisałem już: global.pkt+=1 with(other) instance_destroy() I co teraz w Eventach? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Danielus Opublikowano 29 Listopada 2013 Udostępnij Opublikowano 29 Listopada 2013 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 Więcej opcji udostępniania...
kudlatty Opublikowano 29 Listopada 2013 Autor Udostępnij Opublikowano 29 Listopada 2013 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 Więcej opcji udostępniania...
kudlatty Opublikowano 30 Listopada 2013 Autor Udostępnij Opublikowano 30 Listopada 2013 O ile z punktami się uporałem, to mam nadal problem z życiami... Czytałem FAQ na ten temat, ale dalej nie za bardzo. Chce mieć 3 życia. Po każdym dotknięciu ściany ma odjąć jeden, a po ostatnim pokazać game over. Co mam wpisać w create, a co w kolizjach? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ereg Opublikowano 30 Listopada 2013 Udostępnij Opublikowano 30 Listopada 2013 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 Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę