Skocz do zawartości

Spadanie z klockiem, granice mapy i animacja dźwigni.


Rekomendowane odpowiedzi

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

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

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...