Penguin Opublikowano 5 Marca 2016 Udostępnij Opublikowano 5 Marca 2016 Dzień Dobry :mellow: Witam, mam taki problemik. gdy robiłem grę, w której postać ciągle idzie w lewo (Gdzieś tak jak w Flappy Bird, tylko że się nie lata), chciałbym aby jak się nie podskoczy na blok to aby gracz sam skoczył. Moim problemem jest to, że umiem coś zrobić, aby postać skakała, ale ona ma skakać na szerokości obiektu, a nie na wysokości. Za odpowiedzi dzięki. Aha, i jeszcze proszę, jeśli chcecie wysłać plik, aby był w formacie .gmk Jeszcze raz dziękuje. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sutikku Opublikowano 5 Marca 2016 Udostępnij Opublikowano 5 Marca 2016 Z tego co rozumiem. Postać idzie w lewo i czasem ma bloczki i ma podskoczyć. Jedno wyjście mi przychodzi. Ale zadziała pod warunkiem, że postać cały czas idzie w lewo, bez przerwy. Czyli w step jest np. x-=4; To wtedy w step dodajesz jeszcze GML if!(place_free(x-16,y)) //sprawdzamy czy na danej pozycji jest bloczek { //jesli tak, to skaczemy if(vspeed>=0) //jesli juz nie skoczylismy vspeed=-8; //to skaczemy } Polecam Ci sprawdzić od razu jak jest zbudowany ten kod, bo kopiowanie bez sensu, niczego Cię nie nauczy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Penguin Opublikowano 5 Marca 2016 Autor Udostępnij Opublikowano 5 Marca 2016 Z tego co rozumiem. Postać idzie w lewo i czasem ma bloczki i ma podskoczyć. Jedno wyjście mi przychodzi. Ale zadziała pod warunkiem, że postać cały czas idzie w lewo, bez przerwy. Czyli w step jest np. x-=4; To wtedy w step dodajesz jeszcze GML if!(place_free(x-16,y)) //sprawdzamy czy na danej pozycji jest bloczek { //jesli tak, to skaczemy if(vspeed>=0) //jesli juz nie skoczylismy vspeed=-8; //to skaczemy } Polecam Ci sprawdzić od razu jak jest zbudowany ten kod, bo kopiowanie bez sensu, niczego Cię nie nauczy. Dzięki za kod Sutikku, ale szczerze mówiąc, chodzi mi o to, że gracze się werbują po prawej stronie, i idą w lewo do przeciwników, i po kolizji gracz skoczył. :sp_ike: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Penguin Opublikowano 6 Marca 2016 Autor Udostępnij Opublikowano 6 Marca 2016 Albo już mam odpowiedź, tylko poszedłem na łatwiznę B) Najpierw stworzyłem nowy niewidzialny bloczek, którego nazwałem ( ze sprite'a spr_Jump, a z object'u obj_Jump). Nie daję mu żadnego eventu. Klikam w obiekt gracza ( chodzi mi o wroga, aby wiedział, kiedy skoczyć), wybieram z event'a kolizję z obj_Jump, i wsadzam tam taki kod, taki jak w platformówce: GML if ! place_free(x,y+1) {vspeed = -10} Tak samo jak Sutikku, tylko mniej skomplikowane. Wchodzę w room, i klikam obiektem, gdzie graczo-wróg ma skoczyć. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Chell Opublikowano 6 Marca 2016 Filar Społeczności Udostępnij Opublikowano 6 Marca 2016 ale y+1 to 1 pixel w dół od origina, czyli ten if sprawdza pozycję na której najpewniej znajduje się sprite gracza Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 6 Marca 2016 Udostępnij Opublikowano 6 Marca 2016 place free przesuwa maskę całą, więc sprawdza wszystko o 1 pixel pod maską. Pixel od origina było by position_empty() 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ę