jaros1024 Opublikowano 16 Lutego 2011 Udostępnij Opublikowano 16 Lutego 2011 Witam wszystkich, gdyż to mój pierwszy post na tym forum. Chciałbym, by w danym momencie unieruchomić gracza, tak by nie mógł się ruszyć w żadnym kierunku. Oprócz tego chciałbym by w danym momencie w danym miejscu pojawił mi się sprite. Jak to zrobić? speed = 0 tylko zatrzymuje gracza, ale może się dalej poruszać, a po zastosowaniu draw_sprite nic się nie pojawia.. Proszę o pomoc. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 16 Lutego 2011 Udostępnij Opublikowano 16 Lutego 2011 Stwórz mu dodatkową zmienną, na przykład pausa. Gdy gracz ma się nie ruszać, to pausa=1, w przeciwnym wypadku pausa=false. Dopisujesz we wszystkich eventach odpowiedzialnych za ruch: GML if(!pausa) { // reszta kodu } A żeby wyświetlało Ci jakiś sprite. Wystarczy, że stworzysz nowy obiekt (z tym ustawionym spritem) i nadasz mu odpowiednie x i y. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 16 Lutego 2011 Udostępnij Opublikowano 16 Lutego 2011 No więc tak, wszystkie funkcje zaczynające się na: "draw" można użyć jedynie w evencie:"draw". Podaj jaki kod masz na poruszanie, to przerobi się go i będzie można blokować. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 16 Lutego 2011 Udostępnij Opublikowano 16 Lutego 2011 Inny sposób na pauzę GML keyboard_wait(); mouse_wait(); show_message(); Jedno z tych trzech. Pierwsze zatrzyma grę do wciśnięcia dowolnego klawisza, drugie do kliknięcia myszki, trzecie do kliknięcia na ok, enterem lub spacją. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 16 Lutego 2011 Udostępnij Opublikowano 16 Lutego 2011 Czyli odwrotnie niż chciał. ;) Przecież idzie się domyślić, że on chce zatrzymać gracza, ale gry nie. Tak to wystarczyłoby napisać for(a=0;a=1;a=0). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
jaros1024 Opublikowano 16 Lutego 2011 Autor Udostępnij Opublikowano 16 Lutego 2011 No więc tak, wszystkie funkcje zaczynające się na: "draw" można użyć jedynie w evencie:"draw". Podaj jaki kod masz na poruszanie, to przerobi się go i będzie można blokować. Niestety, poruszanie mam na klockach - z game makerem bawię się dopiero kilka dni. Ale spróbuję napisać kod na poruszanie ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piedro Opublikowano 16 Lutego 2011 Udostępnij Opublikowano 16 Lutego 2011 Niestety, poruszanie mam na klockach - z game makerem bawię się dopiero kilka dni. Ale spróbuję napisać kod na poruszanie ;) pomoże ci dekoder klocków pobierz go tutaj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
jaros1024 Opublikowano 16 Lutego 2011 Autor Udostępnij Opublikowano 16 Lutego 2011 @UP Wielkie dzięki, przydał się ;) No więc tak, wszystkie funkcje zaczynające się na: "draw" można użyć jedynie w evencie:"draw". Podaj jaki kod masz na poruszanie, to przerobi się go i będzie można blokować. Mam już kod: if (keyboard_check(vk_left)) action_move("000100000", 3); else if (keyboard_check(vk_right)) action_move("000001000", 3); else if (keyboard_check(vk_up) ) action_move("000000010", 3); else if (keyboard_check(vk_down) ) action_move("010000000", 3); if (keyboard_check(vk_down)) action_move("000000001", 3); else speed=0; Chciałbym jeszcze by móc chodzić na ukos, wciskając 2 klawisze strzałek - z tym mi już nie bardzo wychodzi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 16 Lutego 2011 Udostępnij Opublikowano 16 Lutego 2011 Ponieważ używasz kw. 'else' Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 17 Lutego 2011 Udostępnij Opublikowano 17 Lutego 2011 GML if global.pauza=0 { if keyboard_check(vk_left) { x-=5 } if keyboard_check(vk_right) { x+=5 } if keyboard_check(vk_up) { y-=5 } if keyboard_check(vk_down) { y+=5 } } i jak będzie miała być pauza to dajesz: GML global.pauza=1 , a jak ma się skończyć: GML global.pauza=0 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ę