Skocz do zawartości

Zablokowane Poruszanie się


ALT

Rekomendowane odpowiedzi

Wim że to banalne pytanie,ale dawno nie siedziałem w GameMaker'ze.

Mam taki kod:

GML
image_angle=direction

 

if (keyboard_check(vk_left))

{direction = 270

speed=3;

}

else

if (keyboard_check(vk_right))

{

direction = 90

speed=3;

}

else

if (keyboard_check(vk_up) )

{

direction = 0

speed=3;

}

else

if (keyboard_check(vk_down) )

{

direction = 180

speed=3;

}

else

{speed=0}

 

Dzięki temu kodowi object Player powinien być skierowany w kierunku którym jedzie(Player to czołg),ale jedzie w złym kierunku!

Co jest źle?

 

Edit: Zapomniałbym,na początku object jest skierowany w góre.

Odnośnik do komentarza
Udostępnij na innych stronach

GML
image_angle=direction

 

if (keyboard_check(vk_left))

{direction = 180

speed=3;

}

else

if (keyboard_check(vk_right))

{

direction = 0

speed=3;

}

else

if (keyboard_check(vk_up) )

{

direction = 90

speed=3;

}

else

if (keyboard_check(vk_down) )

{

direction = 270

speed=3;

}

else

{speed=0}

 

prosze cie bardzo

zapomniales ze w GM direction=0 to prawo

Odnośnik do komentarza
Udostępnij na innych stronach

image_angle=direction

 

if (keyboard_check(vk_left))

{direction = 180

speed=3;

}

else

if (keyboard_check(vk_right))

{

direction = 0

speed=3;

}

else

if (keyboard_check(vk_up) )

{

direction = 90

speed=3;

}

else

if (keyboard_check(vk_down) )

{

direction = 270

speed=3;

}

else

{speed=0

}

E:@UP:Byłeś szybszy;)

Odnośnik do komentarza
Udostępnij na innych stronach

W twoim kodzie jest male utrudnienie: nie mozna jednoczesnie skrecac i jechac, ja bym zrobil to tak:

GML
if (keyboard_check(vk_left))

{direction = 180

speed=3;

}

else

if (keyboard_check(vk_right))

{

direction = 0

speed=3;

}

//czyli bez tego else

if (keyboard_check(vk_up) )

{

direction = 90

speed=3;

}

else

if (keyboard_check(vk_down) )

{

direction = 270

speed=3;

}

else

{speed=0

}

Odnośnik do komentarza
Udostępnij na innych stronach

@TheMarcQ: twój kod też jest zły.

Moja propozycja to zrezygnowanie ze zmiennych speed i direction.

GML
if(keyboard_check(vk_left)) x -= 3

else if(keyboard_check(vk_right)) x += 3

if(keyboard_check(vk_up)) y -= 3

else if(keyboard_check(vk_down)) y += 3

image_angle = point_direction(xprevious,yprevious,x,y)

Sposób nie eliminuje jednego mankamentu, a mianowicie po zatrzymaniu się, gracz będzie zawsze zwrócony w prawo. Możesz to jednak wykluczyć używając pewnego warunku, ale to zrobisz już sam ^^

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