Atölye › Ay'a İniş › 15/31. adım

Motor

Ne yapıyoruz

Aracın altında tek bir motor var ve hep aracın baktığı yöne iter. Dik dururken dümdüz yukarı iter. Eğikken itkinin bir kısmı yana gider; yana gitmenin tek yolu da bu.

Bir açıyı yatay ve dikey parçalara ayırmak için trigonometrinin iki fonksiyonu var: Math.sin ve Math.cos. Yukarı ok basılıyken motor çalışacak (yanma).

```js
const THRUST = 0.1 // speed gained per frame of engine, along the direction the lander points

function burning() {
  return state === 'flying' && keys.ArrowUp
}

  if (burning()) {
    // The engine pushes along the direction the lander points: angle 0 is straight up.
    lander.vx += Math.sin(lander.angle) * THRUST
    lander.vy -= Math.cos(lander.angle) * THRUST
  }
```

Ne işe yarıyor

Sıra sende

  1. const SPIN ... satırının üstüne THRUST sabitini yaz.
  2. function touchdown() { satırının üstüne burning fonksiyonunu yaz; altında bir boş satır kalsın.
  3. update içinde iki ok satırının altına if (burning()) bloğunu yaz.
  4. Çalıştır ve yukarı oku basılı tut: araç yavaşlamalı, sonra yükselmeli. Eğip yakınca yana gitmeli.

Beceriler: Hız ve yerçekimi

Tüm adımlar

  1. Rastgele tepeler
  2. Tepeleri çiz
  3. İniş pisti
  4. Her x için yükseklik
  5. İniş aracı
  6. Kendi ortası etrafında çiz
  7. İki ayak
  8. Oyun döngüsü
  9. Ay yerçekimi
  10. Kenarlardan dolan
  11. Uçuyor mu, uçmuyor mu
  12. Yere değmek
  13. Basılı tuşları hatırla
  14. Eğil
  15. Motor
  16. Titreyen alev
  17. Yakıt
  18. Dokunmatik kontrol
  19. İniş mi, kaza mı
  20. Yeniden uç
  21. İndin mi, düştün mü?
  22. Göstergeler
  23. Bölümler
  24. Puan
  25. Sonraki bölüm ya da yeni oyun
  26. Daha dar pist
  27. Rekor
  28. Parçalara ayrıl
  29. Parçalar düşüp kaybolur
  30. Enkazı çiz
  31. Kendin yap: rüzgâr