Atölye › Pong › 8/26. adım

Basılı tuşları hatırla

Ne yapıyoruz

Raket, tuş basılı tutulduğu sürece hareket etmeli. Üstelik iki oyuncu aynı anda tuşa basabilir. Bu yüzden her tuş için bir not tutacağız: basıldı mı, bırakıldı mı?

Tarayıcı bir tuşa basılınca keydown, bırakılınca keyup olayını duyurur. İkisini dinleyip notu güncelleyeceğiz. Bir yoklama defteri gibi: gelen "var", giden "yok".

```js
const keys = {}

document.addEventListener('keydown', (event) => {
  keys[event.key] = true
})
document.addEventListener('keyup', (event) => {
  keys[event.key] = false
})
```

Ne işe yarıyor

Sıra sende

  1. let right = ... satırının altına const keys = {} yaz.
  2. Bir boş satır bırak ve iki dinleyiciyi yaz.
  3. Çalıştır. Ekran değişmez; kontroller tuş notlarına bakacak.

Beceriler: Klavye ve fare girdisi

Tüm adımlar

  1. Canvas'ı ve kalemi al
  2. Siyah saha
  3. Filenin bir parçası
  4. Bütün file
  5. İki raket
  6. Çizen bir fonksiyon
  7. Oyun döngüsü
  8. Basılı tuşları hatırla
  9. Raketleri oynat
  10. Sahada kal
  11. Top
  12. Top hareket eder
  13. Üstten ve alttan sek
  14. Top rakete değiyor mu?
  15. Raketler geri vurur
  16. Yeniden servis
  17. Skoru tut
  18. Skoru göster
  19. Beşe ilk ulaşan
  20. Kim kazandı?
  21. Yeniden oyna
  22. Raketle nişan al
  23. Her vuruşta hızlan
  24. Bilgisayar rakip
  25. Tek ya da iki oyuncu
  26. Kendin yap: servis beklemesi