Skocz do zawartości

Podstawowy system ruchu platformowego / GMS


Rekomendowane odpowiedzi

Cześć,

Problemów jest kilka więc:

1. Postać będąc na solidnym bloku nie może skakać

2. Idąc w ścianę wbijamy się w nią na odległość około 1-2 pixela

3. Po wbiciu się na odległość tych pixeli spadanie nie działa

 

GML
//Ruch

if KeyLeft() && !place_meeting(x-1,y,oSolid)

hspeed = -playerspeed

 

if KeyRight() && !place_meeting(x+1,y,oSolid)

hspeed = playerspeed

 

if (hspeed<0&&place_meeting(x-playerspeed/2,y,oSolid)) || (hspeed>0&&place_meeting(x+playerspeed/2,y,oSolid)) || (!KeyLeft()&&!KeyRight())

hspeed = 0

 

 

//Skok, grawitacja

if KeyJump() && place_meeting(x,y+2,oSolid)

vspeed = playerjump

 

if (place_meeting(x,y+1+vspeed,oSolid)&&vspeed>0) || (place_meeting(x,y-1-vspeed,oSolid)&&vspeed<0)

vspeed = 0

 

if place_meeting(x,y+1+vspeed,oSolid)

gravity = 0

else

gravity = grav

 

Funkcje KeyRight, KeyLeft, KeyJump sprawdzają czy klawisz odpowiedzialny za ruch i skok jest kliknięty i zwracają true albo false.

Już trochę nad tym siedziałem, a efekty nie były takie jakich oczekiwałem.

Odnośnik do komentarza
Udostępnij na innych stronach

Grzebiesz w czymś tak skomplikowanym jak 39dll i Networking, a używasz gmowych hspeed/vspeed/gravity ?

Owszem, nie mam nic pomocnego do powiedzenia w temacie, ale za to mam poradę: Poświęć trochę czasu i zrób to dobrze, po swojemu.

Odnośnik do komentarza
Udostępnij na innych stronach

gnysek, nie działa. Gracz teraz wbija się w podłogę :(

 

I am vader, 39dll jak dla mnie była dość łatwą do ogarnięcia biblioteką, gdyż miałem pod nosem bardzo łatwy przykład(tzn. start servera, łączenia clienta, wysyłanie i odbieranie danych). Podobnie w przypadku networkingu, dzięki tobie udało mi się to w miarę ogarnąć.

 

I teraz co do kodu powyżej - póki co testuję, próbuję, eksperymentuję :P

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