Prosty ruch samochodowy w GM
Ciapek
Artykuł ten pokazuje, jak stworzyć najprostszy ruch samochodowy. Istotą tego ruchu jest to, że klawisze "strzałka w lewo" i "strzała w prawo" odpowiadają za zmianę kierunku, a klawisze "strzałka w górę" i "strzałka w dół" za sterowanie prędkością.
Realizacja
1. Tworzymy sprite, przedstawiający nasz obiekt
2. Tworzymy obiekt, nazywamy go obj_car i przypisujemy do niego sprite, utworzony w kroku 1
3. Teraz stworzymy zmianę kierunku. Aby to zrobić, dodaj zdarzenie Keyboard Left i wykonaj przy nim następujący kod:
if(speed>0) { direction+=3; }
Analogicznie, dodaj zdarzenie Keyboard Right i umieść w nim następujący kawałek kodu:
if(speed>0) { direction-=3; }
4. Czas na sterowanie prędkością. W zdarzeniu Keyboard Up umieść następujący kod:
if(speed+0.5<4) { speed+=0.5; } else { speed=4; }
Jeśli prędkość nie przekracza 4, to zwiększ ją o 0.5
W zdarzeniu Keyboard Down dodaj kod:
if(speed-0.5>0) { speed-=0.5; } else { speed=0; }
Dopóty prędkość jest większa niż zero, zmniejszaj ją o 0.5
5. Stwórz nowy room i umieść w nim obiekt obj_car.
Koncepty do rozwinięcia
- prędkość skręcania w zależności od tempa jazdy. Aby uzyskać realistyczny efekt pamiętaj, że dla prędkości 0 tempo skręcania powinno być równe 0, dla prędkości większych od zera funkcja prędkości skręcania w zależności od szybkości auta powinna być odwrotnie zależna.
- prędkość przyspieszenia może być zależna od podłoża. Użyj odpowiednich funkcji aby sprawdzić, na jakim podłożu znajduje się samochód.
- zadbaj o obsługę przeszkód - najprostszym rozwiązaniem jest ustawienie prędkości na -1*speed w momencie kolizji ze ścianą
- po puszczeniu strzałki samochód powinien się powoli zatrzymywać - uwzględnij to zdarzenie sprawdzając, czy strzałka NIE jest wciśnięta