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

Parçalara ayrıl

Ne yapıyoruz

Yalnız "Crashed" yazan bir kaza hayal kırıklığıdır. Araç parçalara ayrılıp etrafa saçılsın ve parçalar geri düşsün: işte bu bir an olur. Bu aynı zamanda en basit parçacık sistemidir: her biri kendi konumu, hızı ve ömrü olan bir sürü minik nesne.

Bu adımda parçaları üretiyoruz: kazada 24 tane, her biri rastgele bir yöne.

```js
let debris

  debris = []

  // A burst of pieces flying out from the wreck.
  for (let i = 0; i < 24; i++) {
    const a = Math.random() * Math.PI * 2
    const speed = 1 + Math.random() * 3
    debris.push({ x: lander.x, y: lander.y, vx: Math.cos(a) * speed, vy: Math.sin(a) * speed - 2, life: 60 })
  }
```

Ne işe yarıyor

Sıra sende

  1. let state ... satırının altına let debris yaz.
  2. startLevel içinde state = 'flying' satırının altına debris = [] yaz.
  3. touchdown içinde state = 'crashed' satırının altına (rekor bloğunun üstüne) yorumu ve for döngüsünü yaz.
  4. Çalıştır: parçaları henüz görmüyorsun; kontroller yeşil olmalı.

Beceriler: Hız ve yerçekimi, Diziler ve nesneler

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