Skocz do zawartości

Poruszanie się


Smo

Rekomendowane odpowiedzi

Dobra, już sobie sam poradziłem :]

 

 

A teraz kolejne pytanko.

Mam 2 obiekty, jeden jest od razu i steruje się strzałkami, a drugi po wpisaniu kodu i steruje się WSAD'em. Tyle, że one nie mogą poruszać się jednocześnie... Albo jeden, albo drugi...

 

 

Jak temu zaradzić?

Odnośnik do komentarza
Udostępnij na innych stronach

GML
if ( keyboard_check( vk_left ) && !keyboard_check( ord( 'A' ) ) ) // w lewo na strzałkach

if ( keyboard_check( vk_right ) && !keyboard_check( ord( 'D' ) ) ) // w prawo na strzałkach

if ( keyboard_check( vk_up ) && !keyboard_check( ord( 'W' ) ) ) // do góry na strzałkach

if ( keyboard_check( vk_down ) && !keyboard_check( ord( 'S' ) ) ) // na dół na strzałkach

if ( !keyboard_check( vk_left ) && keyboard_check( ord( 'A' ) ) ) // w lewo na WSADzie

if ( !keyboard_check( vk_right ) && keyboard_check( ord( 'D' ) ) ) // w prawo na WSADzie

if ( !keyboard_check( vk_up ) && keyboard_check( ord( 'W' ) ) ) // do góry na WSADzie

if ( !keyboard_check( vk_down && keyboard_check( ord( 'S' ) ) ) // na dół na WSADzie</span>

Odnośnik do komentarza
Udostępnij na innych stronach

Ale ja już mam kody na poruszanie się...

Tyle, że albo porusza się obj2, albo obj3...

Razem nie mogą...

 

kod na strzałki :

GML
if place_free(x,y+1)

{gravity = 0.5}

else

{gravity = 0}

 

switch (keyboard_key)

{

case vk_left:

if place_free(x-4,y)

{x-=4}

break;

 

case vk_right:

if place_free(x+4,y)

{x+=4}

break

 

case vk_up:

if ! place_free(x,y+1) then vspeed = -7;

break;

}

 

Kod na WSAD :

GML
if place_free(x,y+1)

{gravity = 0.5}

else

{gravity = 0}

 

switch (keyboard_key)

{

case ord("A"):

if place_free(x-4,y)

{x-=4}

break;

 

case ord("D"):

if place_free(x+4,y)

{x+=4}

break

 

case ord("W"):

if ! place_free(x,y+1) then vspeed = -7;

break;

}

Odnośnik do komentarza
Udostępnij na innych stronach

Ah oto ci chodzi xD pisz zrozumialej, po tym:

Tyle, że one nie mogą poruszać się jednocześnie... Albo jeden, albo drugi...

Jak temu zaradzić?

Wywnioskowałem że chcesz by ten instancje się ruszały osobno.

 

Twój kod czyta ostatnio wciśnięty znak i na jego podstawie porusza odpowiednią instancją, logiczne jest to że ostatni znak może być tylko jeden, nie istnieją dwa ostatnie znaki. Więc w ten sposób nigdy nie zrobisz byś mógł poruszać obiema instancjami jednocześnie.

 

Jak chcesz jednocześnie to musisz użyć keyboard_checków. Tyle że z nimi będziesz mógł chodzić na ukosy a tobie pewnie zależy by nie można było.

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