Skocz do zawartości

Sterowanie pojazdem


pk100

Rekomendowane odpowiedzi

Witam,

Walczę z problemem jak zrobić sterowanie statkiem w przestrzeni ( widok z góry ) tak by miał bezwładność tzn.

strzałka w górę dodaje prędkości, strzałki na lewo i prawo obracają pojazdem ale nie skręcają nim jak samochód

tylko obrócony dalej leci w kierunku w którym sie rozpędził, dopiero dodanie gazu nadaje mu prędkości w kierunku,

w który aktualnie jest zwrócony. To samo dotyczy dryfowania na lewą i prawą burtę - jak to zrobić by np. klawisze

A i D powodowały lekki dryf na lewo i prawo bez obracania się przodem całego pojazdu.

Mam ustawione sterowanie które pasuje do samochodu, ustawianie direction += wartość przy skręcaniu obraca pojazdem

ale jak się rozpędzi to już skręca po łuku. To moje początki z GM i pewnie trzeba sporego skryptu by coś takiego zrobić?

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

No właśnie problem jest w tym, że statek ma latać 360 stopni w każdym kierunku,

to co podałeś zda egzamin jak leci tylko w jedną stronę. A jak zrobić by dryfował

na boki przy sterowaniu 360 stopni... Powiedzmy skręcam w lewo na godz. 11 i tam lecę

a dryfowanie będzie działać 90 stopni na boki w lewo o prawo.

Odnośnik do komentarza
Udostępnij na innych stronach

Chyba chodzi o sterowanie z asteroids, który jest dołączony do GMa.

 

Sterowanie:

GML (step)
if ( keyboard_check( vk_left ) ) image_angle += 10;

if ( keyboard_check( vk_right ) )image_angle -= 10;

if ( keyboard_check( vk_up ) ) motion_add( image_angle, 0.5 );

if ( keyboard_check( vk_down ) ) motion_add( image_angle, -0.2 );

 

jak masz gdzieś image_angle = direction to wywal to

Odnośnik do komentarza
Udostępnij na innych stronach

Lecąc w dowolnym kierunku w zakresie 360 stopni - naciśnięcie klawiszy np. A i D powoduje przesuwanie się statku na lewo i prawo

ale bokiem, dokładnie 90 stopni od kierunku w którym leci - pojazd się nie obraca, leci na przód, a A i D przesuwają go na boki.

Odnośnik do komentarza
Udostępnij na innych stronach

Ale skoro pojazd ma się nie obracać tylko spychać to jak chcesz nim skręcać?

 

spychanie na boki bez obracania.

 

GML (step)
if ( keyboard_check( ord( 'A' ) ) ) { motion_add( image_angle - 90, 0.3 ); /*image_angle += 8;*/ }

if ( keyboard_check( ord( 'D' ) ) ) { motion_add( image_angle + 90, 0.3 ); /*image_angle -= 8;*/ }

if ( keyboard_check( ord( 'W' ) ) ) motion_add( image_angle, 0.5 );

if ( keyboard_check( ord( 'S' ) ) ) motion_add( image_angle, -0.2 );

Odnośnik do komentarza
Udostępnij na innych stronach

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