Skocz do zawartości

Bohater na platformie


Dangon

Rekomendowane odpowiedzi

Witam. Mam problem z poruszaniem sie bohatera na platformie. Tzn. jesli platforma jedzie w lewo, a bohater stoi na niej, to zeby bohater z ta sama predkoscia jechal w lewo.

 

Probowalem juz kilku opcji:

 

np.

if (podlozeruchome.direction = 180)
{
hspeed = 2
direction = 180
}
else
if (podlozeruchome.direction = 0)
{
hspeed = 2
direction = 0
}

 

albo

 

hspeed = podlozeruchome.hspeed
move_contact_solid(direction,12)

 

Jednak nic nie dzialalo.

 

Czy macie jakies pomysly? :)

Odnośnik do komentarza
Udostępnij na innych stronach

Mam kolejny problem z platformami :)

 

Mam spadajace platformy (jezeli bohater na nie wskoczy to one spadna). Niby wszystko to dziala...

 

if (bohater.direction = podlozespadajace.direction)
{
podlozespadajace.gravity = 1
podlozespadajace.gravity_direction = 270
}

 

... jednak jezeli bohater uderzy glowa od dolu w platforme to rowniez ona spada. Jak zrobic zeby tak nie bylo? Zeby ona spadala tylko wtedy jak bohater na nia wskoczy?

 

 

Sorry ze pisze 2 posty za koleja jednak jak walnolem edyte to nikt tego nie zauwazyl :jezor:

Odnośnik do komentarza
Udostępnij na innych stronach

Mam kolejny problem z platformami :)

 

Mam spadajace platformy (jezeli bohater na nie wskoczy to one spadna). Niby wszystko to dziala...

 

if (bohater.direction = podlozespadajace.direction)
{
podlozespadajace.gravity = 1
podlozespadajace.gravity_direction = 270
}

 

... jednak jezeli bohater uderzy glowa od dolu w platforme to rowniez ona spada. Jak zrobic zeby tak nie bylo? Zeby ona spadala tylko wtedy jak bohater na nia wskoczy?

Sorry ze pisze 2 posty za koleja jednak jak walnolem edyte to nikt tego nie zauwazyl :jezor:

 

daj w kolizji podlozespadajce z bohaterem:

if (other.y < self.y)
{
podlozespadajace.gravity = 1
podlozespadajace.gravity_direction = 270
}

Odnośnik do komentarza
Udostępnij na innych stronach

To może po prostu zrób tak:

 

W stepie platformy daj klocek "if there is an object at a position", object wybierz bohater, x: 0, y: -1, zaznacz relative. Po tym klocku wstaw kod spadania platformy, czyli

 

podlozespadajace.gravity = 1
podlozespadajace.gravity_direction = 270

 

Jeśli wolisz kod, to w warunku użyj funkcji instance_position(x,y,obj)

Odnośnik do komentarza
Udostępnij na innych stronach

wpisz to w kolizji ze spadającą platformą

if (other.y < y+sprite_height)
{
podlozespadajace.gravity = 0.5;
// podlozespadajace.gravity_direction = 270; nie trzeba pisac
}

 

A może będzie na owdrót? :mellow: Zobacz, czy to zadziała:

if (other.y >= y+sprite_height)
{
podlozespadajace.gravity = 0.5;
// podlozespadajace.gravity_direction = 270; nie trzeba pisac
}

Odnośnik do komentarza
Udostępnij na innych stronach

Masks: (GM Help)

 

"When two instances collide a collision event occurs. To decide whether two instances intersect, the sprites are used. This is fine in most cases, but sometimes you want to base collisions on a different shape. For example, if you make an isometric game, objects typically have a height (to give them a 3D view). But for collisions you only want to use the ground part of the sprite. This can be achieved by creating a separate sprite that is used as collision mask for the object. "

 

Czyli chodzi o to że jeśli dasz jakiemuś obiektowi sprite i maskę to tak jakby obiekt ma kształt maski, ale mimo wszystko wygląda jak sprite.

Odnośnik do komentarza
Udostępnij na innych stronach

Dangon, wszyscy pisali ci po kilka razy co i jak trzeba zrobić, ty jednak tego nie kapujesz, bo nie potrafisz tego wsadzić do gry. Zanim następnym razem napiszesz "ten sposób nie dzała" itp. to zastanów się czy zrobiłeś tak jak ci dyktowali i spróuj jeszcze raz.

Odnośnik do komentarza
Udostępnij na innych stronach

Masz racje. Juz dziala wszystko, a dokladnie ten kod (bo reszty nie sprawdzalem):

 

if (other.y < self.y)
{
podlozespadajace.gravity = 1
podlozespadajace.gravity_direction = 270
}

 

Bo ja glupi zamiast dac w kolizji platformy z bohaterem to ja dalem w kolizji bohatera z platforma... :rolleyes:

 

Sorki. Zwracam honor wszystkim tym ktorzy mowili dobrze a ja zle robilem :unsure:

 

I dzieki Micanser ze zwrociles mi uwage na to :thumbsup:

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ę...