MeloPL Opublikowano 3 Lipca 2009 Udostępnij Opublikowano 3 Lipca 2009 Witam, mam trzy małe problemy. #rozwiązany1. Otóż nie wiem, jak to zrobić, by postać nie mogła wyskoczyć poza prawą i lewą granicę mapy (nie tworząc oczywiście obiektów, które miałyby je blokować). #rozwiązany2. Oraz drugi problemik, czyli zrobienie czegoś takiego, by postać stojąca na klocku, który spada jedynie z vspeed=3 również miała taką prędkość, a przy tym zero grawitacji (która włączyłaby się dopiero po odskoczeniu od klocka). Chodzi mi o takie jakby przyklejenie do spadającego klocka. Starałem się ustawić coś takiego w step bohatera: GML if place_meeting(x,y-2,skrzynia2) vspeed=3; gravity=0; Jednak przez to postać na początku gry stała na poziomie swego respawnu, no i nie mogła spaść, mimo wolnej przestrzeni. 3. I też trzeci problem z animacją dotyczącą dźwigni. Chcę, by po wciśnięciu spacji, stojąc przy dźwigni, zmieniła ona swą animację (ta dźwignia). Cały skrypt jest umieszczony w Press Key, i napisany w ten sposób: GML if place_meeting(x,y,dzwigo1) with(przel1) { visible=!visible; solid=!solid; } if place_meeting(x,y,dzwigo1) and sprite_index = dzwigo1spr sprite_index = dzwigc1spr; if place_meeting(x,y,dzwigo1) and sprite_index = dzwigc1spr sprite_index = dzwigo1spr; Problem jest z tymi ostatnimi 4 linijkami, które odpowiadają za animację. Nie zmieniają one animacji, czyli źle je napisałem, a to oznacza, że mam z tym także problem. Animacja ma działać w ten sposób, że po wciśnięciu spacji animacja się zmienia na inną, a po ponownym jej wciśnięciu wraca do poprzedniej, no i tak w kółko. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 3 Lipca 2009 Udostępnij Opublikowano 3 Lipca 2009 if (place_meeting(x,y,dzwigo1)) and (sprite_index = dzwigo1spr) sprite_index = dzwigc1spr; else if (place_meeting(x,y,dzwigo1)) and (sprite_index = dzwigc1spr) sprite_index = dzwigo1spr; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
boom Opublikowano 3 Lipca 2009 Udostępnij Opublikowano 3 Lipca 2009 if(x < 1 or x > room_width - sprite_get_width(spr_hero))hspeed = -hspeed if(y< 1 or y > room_height - sprite_get_height(spr_hero))vspeed = -vspeed Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MeloPL Opublikowano 3 Lipca 2009 Autor Udostępnij Opublikowano 3 Lipca 2009 if(x < 1 or x > room_width - sprite_get_width(spr_hero))hspeed = -hspeed if(y< 1 or y > room_height - sprite_get_height(spr_hero))vspeed = -vspeed Hm, moja postać ma wiele animacji, oraz jeden sprite, który jest maską dla wszystkich animacji. Nazywa się on hero_mask, lecz gdy zastąpię go (lub nie) za "spr_hero", to tak, czy siak, skrypt nie działa. ;/ Jest może jakiś inny sposób? :P @Muuuuczek567 Niestety, mimo to, że zastąpiłem w evencie Press Key <Space> ten kod z moimi wcześniejszymi błędnymi czterema linijkami, dalej nie działa. :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 3 Lipca 2009 Udostępnij Opublikowano 3 Lipca 2009 GML if(x < 0) x = 0 if(x > room_width) x = room_width Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MeloPL Opublikowano 3 Lipca 2009 Autor Udostępnij Opublikowano 3 Lipca 2009 Ok, Muuuuczek, dzięki :P Może też skrypt booma działał. Po prostu w złe miejsce go wpisałem. Jak zrobiłem to w evencie step u hero, zadziałało. Wcześniej wpisywałem w roomie. 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ę