Skocz do zawartości
Smo

Poruszanie się

Rekomendowane odpowiedzi

Hbor i Vbor to odległości od x y postaci do brzegu, żeby się przesuwało. Ja zawsze tam wstawiam to, co w wview i hview

to na pewno spowoduje, że postać będzie na środku viewa

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

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ć?

Udostępnij tego posta


Odnośnik do posta
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>

Udostępnij tego posta


Odnośnik do posta
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;

}

Udostępnij tego posta


Odnośnik do posta
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.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

No raczej nie o to mi chodzi, żeby na ukos było :/

 

 

No dobra, trudno. Próbowałem zrobić coś jakby oszukane multi (^_^) ale się nie udało... Oszukane, bo żeby było multi, trzeba znać cheaty :]

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

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

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×