Skocz do zawartości

Kody z FAQ - mały problem


Młody

Rekomendowane odpowiedzi

A więc tak , chodzi o ten kod

13. Jak zrobić grawitację w grze platformowej?

Najpierw tworzymy obiekt blok, po którym będzie chodził bohater. Należy pamiętać, że blok ma być solid. Następnie robimy obiekt hero, któremu w "step" wklejamy kod:

gml:

if place_free(x,y+1)

{gravity = 0.5}

else

{gravity = 0}

Przy kolizji z blokiem:

gml:

move_contact_solid(270,4)

vspeed = 0

Przy naciśnięciu klawisza w prawo:

gml:

if place_free(x+4,y)

{x+=4}

Przy naciśnięciu klawisza w lewo:

gml:

if place_free(x-4,y)

{x-=4}

Przy naciśnięciu klawisza w górę (skakanie):

gml:

if ! place_free(x,y+1)

{vspeed = -10}

Więc teraz omówię pierwsze problemy , po wgraniu do gry tych kodów grawitacja działa , gdy zabraknie podłogi , spada , ale gdy naciskam w lewo lub prawo porusza się jedynie o jeden pixel w daną stronę ... skakanie jest ok . Może ktoś wytłumaczyć dlaczego tak się dzieje , oraz poprawi ten kod ?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

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