Atölye › Wolfenstein Tarzı 3B Labirent › 17/18. adım

Dokunmatik kontrol

Ne yapıyoruz

Telefonda ok tuşu yok. Ekranın sol üçte birini basılı tutmak sola, sağ üçte birini sağa döndürsün, ortası yürütsün. Kazandıktan sonra bir dokunuş yeniden oynatsın. Dokunuşlar aynı keys nesnesine yazıyor; update farkı anlamıyor bile.

```js
// Touch: hold the left third to turn left, the right third to turn right, the middle to walk.
canvas.addEventListener('pointerdown', (event) => {
  if (state === 'won') {
    reset()
    return
  }
  const rect = canvas.getBoundingClientRect()
  const third = ((event.clientX - rect.left) / rect.width) * 3
  keys[third < 1 ? 'ArrowLeft' : third < 2 ? 'ArrowUp' : 'ArrowRight'] = true
})
function stopTouch() {
  keys.ArrowLeft = false
  keys.ArrowUp = false
  keys.ArrowRight = false
}
canvas.addEventListener('pointerup', stopTouch)
canvas.addEventListener('pointercancel', stopTouch)
```

Ne işe yarıyor

Sıra sende

update fonksiyonunun üstüne dokunma dinleyicilerini yaz. Çalıştır.

Beceriler: Klavye ve fare girdisi

Tüm adımlar

  1. Harita
  2. Oyuncu
  3. Tavan, zemin ve döngü
  4. Dön
  5. Yürü
  6. Duvar mı?
  7. Duvarda dur, boyunca kay
  8. Işın: nereden başlıyor
  9. Işın: ızgara çizgileri
  10. Işın: duvara kadar yürü
  11. 3B görünüm
  12. Balık gözü yok
  13. Işık ve gölge
  14. Süre
  15. Kaçış!
  16. En iyi süre
  17. Dokunmatik kontrol
  18. Kendin yap: koş