Skocz do zawartości

Zablokowane Platformówka - Platformy


Mosiek

Rekomendowane odpowiedzi

Ja wiem,że było mnóstwo takich tematów,wiem bo szukałem i tylko jeden z nich mi działał jednak tam była coś z grawitacją nie wiem gdzie bo tylko jeden krótki kod przepisałem i nic tak o tym nie było, ale przejdźmy do tematu jakby mi ktoś mógł napisać/zrobić przykład skakania na platformy od dołu tak żeby na górze zostać główkowałem nad tym miałem parę przykładów wszystkie dokładnie z analizowałem jednak nie widziałem błędów jest godzina 2:00 tyle czasu główkowałem nad tym jednak nic nie dałem rady wymyślić jestem na słabym poziomie więc nie ma się co dziwić dlatego proszę was o napisanie mi takiego przykładu/kodu.

 

Z góry dziękuje pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

Mozesz to zrobic 'od 2 stron'.

 

Np.

Przy kolizji platformy z bohaterem sprawdzac gdzie on jest i kod na kolizje dac dopiero po:

GML
if hero.y < y
Czyli jesli bohater jest nad platforma.

 

Mozesz zrobic na odwrot, przy kolizji bohatera z platforma - wtedy sprawdzasz czy platforma jest pod bohaterem (jej y jest wieksze od naszego y, analogicznie jak wyzej)

Odnośnik do komentarza
Udostępnij na innych stronach

Twój kod chyba jest dobry ale mam tak w evencie kolizji bohatera z platformą:

 

GML
if postac.y > y

{

move_contact_solid(270,4)

vspeed = 0

}

i nie mogę wskoczyć na platformę spod dołu a jak z boku na górę naskoczę to mi się postać zacina i w ogóle chodzić nie mogę tzn. jak dotknę platformy .

 

Próbowałem jeszcze tak ale jest to samo:

GML
if postac.y > y then

solid = true;

else

solid = false;

Odnośnik do komentarza
Udostępnij na innych stronach

Wiesz co to jest gml, naucz się go. Masz dużo przykładów, dokumentację. Szukanie nie powoduje urazu mózgu ani innych tego typu rzeczy :-)

Rażąca ortografia i brak jakiegokolwiek poszanowania dla zasad interpunkcji po raz drugi. Warn. I będą następne dopóki się nie poprawisz. Z grubsza poprawione. :/

Platyna

Odnośnik do komentarza
Udostępnij na innych stronach

YY, nic nie pomogło ;/ dalej się zacina może jakiś inny kod na to jest? miałem jeden który działał ale właśnie miał grawitacje wyłączoną da się to zrobić z grawitacją??

 

Tamten kod to był:

GML
if( !place_free( x, y ) )

{

if( vspeed >= 0 )

{

while( !place_free( x, y ) )

y -= 1;

 

vspeed = 0;

}

}

w evencie end step czy da się włączyć grawitacje w tym kodzie?? i czy będzie to działało z grawitacją

 

dałem taki kod i normalnie się odbijał od platformy tak jak wcześniej bez :if obj_block.y > y

kod wygląda tak:

GML
if obj_block.y > y

{

move_contact_solid(270,4)

vspeed = 0

gravity=0

}

 

edit:

Dobra powiedzmy, że sobie poradziłem użyłem takiego kodu w evencie end step:

GML
if( !place_free( x, y ) )

{

if( vspeed >= 0 )

{

while( !place_free( x, y ) )

y -= 1;

gravity = 0.5;

vspeed = 0;

}

}

tylko że jak przytrzymam klawisz skoku to przy kolizji mogę skoczyć podwójnie ;P

problemaa.png

Jest też taki problem który jest opisany na obrazku

bardzo proszę o pomoc

Odnośnik do komentarza
Udostępnij na innych stronach

w kolizji masz move_contact_solid i cośtam jeszcze chyba :P zamiast tego daj:

if vspeed<0

exit;

else

{

move_contact_solid itd.

}

 

jeszcze ustaw bohaterowi deptha mniejszego niż platformie, bo głupio by wyglądało jakby sie chował za nią :P

 

PS. nie testowałem tego nigdy ale chyba powinno działać :D

Odnośnik do komentarza
Udostępnij na innych stronach

Sorry, że odświeżam po długim czasie ale nie bawiłem się z tym kodem na razie dzisiaj sprawdziłem i Thobby twój kod nie działa :P ustawiłem go tak

GML
if vspeed<0

exit;

else

{

move_contact_solid(270,4)

vspeed = 0

}

w kolizji z obj_block który w tym przypadku jest platformą. Nie działa bo nie przechodzi przez platformę tylko się odbija po prostu:P

Odnośnik do komentarza
Udostępnij na innych stronach

Musisz wziąć pod uwagę origin y twojej postaci i jej wysokość sprite'a :/ Jak ty inaczej chciałeś to zrobić?

Przykładowo jeżeli wysokość sprite'a to 10 a y origin masz na środku to będzie

GML
if (y>hero.y+5)

{

solid=true;

}

Tyle w obiekcie podłoża w step, a w herosie w evencie kolizji bohateraz z tym obiektem

GML
if (solid==true)

{

move_contact_solid(270,4);

vspeed=0;

}

Odnośnik do komentarza
Udostępnij na innych stronach

OK ale mam jeszcze inny problem jak już kiedyś w innych tematach wspominałem mam na mapie 3 postacie które sobie mogę wybrać i jak zrobić żeby dla każdej z nich był tak jakby inny solid tego obiektu bo jak jedna stoi to solid jest true i druga wyjść nie może da się coś takiego zrobić??

Odnośnik do komentarza
Udostępnij na innych stronach

Chodzi mi o to że mam 3 postacie jak jedna wyjdzie na platformę to druga nie może wskoczyć ponieważ platforma jest solid a jak nikt nie stoi to jedna może normalnie wyjść a jak już wyjdzie no to dzieje się to co wcześniej powiedziałem a co do tego 0 w move_contact_solid to i tak potwór spadł :P

Odnośnik do komentarza
Udostępnij na innych stronach

najprosciej będzie zrobic 3 platformy i kazda bedzie odpowiadala innemu bohaterowi(robisz 3 tak samo wygladajace platformy i jeden typ ustawiasz w roomie i w dreate tego typu dajesz zeby tworzyl jeszcze pozostale 2 w miejscu w ktorym sam jest) potem ustawiasz tylko zeby na kazdego bohatera dzialala inna platforma

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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