Atölye › Pong › 8/26. adım
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
})
```const keys = {} → {} boş bir nesne. İçine tuş adlarıyla bilgi yazacağız: keys.w W basılıyken true olacak.document.addEventListener('keydown', (event) => { ... }) → "sayfada bir tuşa basıldığında içini çalıştır".
(event) => { } adı olmayan kısa bir fonksiyon (ok fonksiyonu); event basılan tuşun bilgilerini taşır.event.key → tuşun adı: 'w', 's', 'ArrowUp'...keys[event.key] = true → köşeli parantezle yazma: adı bir değişkende duran alana değer ver. W basıldıysa
keys['w'] = true, yani keys.w = true.keyup → tuş bırakıldığında: aynı alanı false yap.let right = ... satırının altına const keys = {} yaz.Beceriler: Klavye ve fare girdisi
← Oyun döngüsü Raketleri oynat →