Sminer Opublikowano 18 Sierpnia 2011 Udostępnij Opublikowano 18 Sierpnia 2011 Mam problem w grze "Pokemon" Chce aby Moj ludzik dotykajac trawe miel 20% na to ze stworzy walke Pokemon. (Chce zeby te 20% losowalo sie dopiero wtedy gdy moja posatc skonczy ruch po kratce(Postac chodzi po kratkach 32 na 32 piksele.) a nie wtedy gdy przchodzi na droga klatke dlatego ze gdy tworzy walke i ja skonczy (nie bedac w kratce 32 na 32 piksele) to potem nie moze sie ruszac . Moze pokaze kod jaki mam w stepie na poruszanie -------------------------------------------------------------------------------------------------------------------------------------------- // sterowanie po kratkach 32x32 if (place_snapped(32,32)) { //----------wzor ruchu-------- /* jesli klawisz jest wcisniety to { jesli poczatek animacji jest ustawiony i (w przypadku ruchu poziomego) przerzucenie w poziomie oraz czy na drodze nie stoi przeszkoda to... ...zwiekszamy lub zmniejszamy punkt docelowy x lub y ustalamy poczatek animacji ustalamy koniec animacji czy ma przerzucic w poziomie jesli image_index jest poza granicami to ustawiamy go na poczatek } */ //---------------------------- if (keyboard_check(vk_left)) { if (pocz=4) && (image_xscale=-1) && (place_free(x-32,y)) mx -= 32; pocz = 4; kon = 7; image_xscale = -1; if (image_index<pocz) || (image_index>kon+1-szybkosc) image_index = pocz; } else if (keyboard_check(vk_right)) { if (pocz=4) && (image_xscale=1) && (place_free(x+32,y)) mx += 32; pocz = 4; kon = 7; image_xscale = 1; if (image_index<pocz) || (image_index>kon+1-szybkosc) image_index = pocz; } else if (keyboard_check(vk_up)) { if (pocz=8) && (place_free(x,y-32)) my -= 32; pocz = 8; kon = 11; image_xscale = 1; if (image_index<pocz) || (image_index>kon+1-szybkosc) image_index = pocz; } else if (keyboard_check(vk_down)) { if (pocz=0) && (place_free(x,y+32)) my += 32; pocz = 0; kon = 3; image_xscale = 1; if (image_index<pocz) || (image_index>kon+1-szybkosc) image_index = pocz; } } if (mx<x) // jesli mx jest na lewo od x hspeed = -4; else if (mx>x) // jesli mx jest na prawo od x hspeed = 4; else if (my<y) // jesli my jest wyzej od y vspeed = -4; else if (my>y) // jesli my jest nizej od y vspeed = 4; depth = -y; // zeby postacie nizej polozone byly bardziej widoczne ----------------------------------------------------------------------------------------------------------------------------------------- a pryz kolizji z trawa with (Moje_Pokemony) if (Ilosc_Pokemon>0) //to po to zeby stworzc walke dopiero gdy mam pokemona { if (ceil(random(20))=true) // 1/20 ze stworz sie walka { instance_create(0,0,Walka) /tworzy sie walka } } Jak cos jest niezrozumiale to odpowiem na pytania Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sernat Opublikowano 18 Sierpnia 2011 Udostępnij Opublikowano 18 Sierpnia 2011 Z vspeed i hspeed nic nie osiągniesz. Ile razy można to tłumaczyć. To zaraza. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 19 Sierpnia 2011 Udostępnij Opublikowano 19 Sierpnia 2011 Vspeed nieraz się przydaje. Na pewno jest lepsze od gravity. Można też samemu operować na y, ale wygodnie jest pisać platformówki z użycie tejże zmiennej. Jednak zgodzę się z tym, że hspeed jest praktycznie do niczego. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rudy Opublikowano 19 Sierpnia 2011 Udostępnij Opublikowano 19 Sierpnia 2011 Moim zdaniem h/vspeed jest tu dobrze wykorzystane. Po co pisać speed=, direction= jak można to zrobić w jednej linii? Poza tym założę się, że GM załatwia sprawę zmiany przesunięcia co klatkę za pomocą h/vspeed, nie speed, direction i trygonometrią. 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ę