Atölye › Space Invaders Tarzı › 5/21. adım

Ateş

Ne yapıyoruz

Boşluk namludan bir mermi atsın. Mermiler bir listede duruyor; her biri geminin hemen üstünden başlayan küçük bir kutu. Bu adımda mermiler oluşuyor; uçmalarını sonraki adımda ekliyoruz.

```js
const BULLET_SPEED = 8
let bullets = []

function shoot() {
  bullets.push({ x: ship.x + SHIP_W / 2 - 2, y: ship.y - 12, w: 4, h: 12 })
}

  if (event.key === ' ') shoot()
```

Ne işe yarıyor

Sıra sende

  1. SHIP_SPEED satırının altına BULLET_SPEED, ship satırının altına let bullets = [] yaz.
  2. keys satırının altına shoot fonksiyonunu yaz; keydown dinleyicisine Boşluk satırını ekle.
  3. Çalıştır. (Mermiler henüz görünmüyor.)

Beceriler: Klavye ve fare girdisi, Diziler ve nesneler

Tüm adımlar

  1. Gemi
  2. Oyun döngüsü
  3. Gemiyi oynat
  4. Ekranda kal
  5. Ateş
  6. Mermiler uçuyor
  7. Kısa bir dolum
  8. İstilacılar
  9. Yürüyüş
  10. Vurdun!
  11. Puan
  12. Karşılık veriyorlar
  13. Bombalar düşüyor
  14. Canlar
  15. Oyun bitti
  16. En iyi puan
  17. Dalga bir fonksiyonda
  18. Yeniden oyna
  19. Dalgalar
  20. Gittikçe hızlanan
  21. Kendin yap: fazladan can