Atölye › Zelda Tarzı Zindan › 4/22. adım

Yürü

Ne yapıyoruz

Bir ok tuşunu basılı tutmak kahramanı o yöne karede 2.5 piksel yürütsün ve o yöne döndürsün. DIRS her ok tuşuna yönünü veriyor. Duvarlar henüz durdurmuyor.

```js
const SPEED = 2.5
const DIRS = { ArrowUp: [0, -1], ArrowDown: [0, 1], ArrowLeft: [-1, 0], ArrowRight: [1, 0] }
const held = {}

function move(body, dx, dy) {
  body.x += dx
  body.y += dy
}

document.addEventListener('keydown', (event) => {
  held[event.key] = true
  if (DIRS[event.key]) event.preventDefault()
})
document.addEventListener('keyup', (event) => {
  held[event.key] = false
})

function update() {
  let dir = null
  for (const key in DIRS) if (held[key]) dir = DIRS[key]
  if (dir) {
    player.dir = dir
    move(player, dir[0] * SPEED, dir[1] * SPEED)
  }
}

  update()
```

Ne işe yarıyor

Sıra sende

  1. SIZE altına SPEED, ROWS altına DIRS, let player altına held yaz.
  2. draw'ın üstüne move, iki tuş dinleyicisini ve update'i yaz.
  3. loop içinde draw()'ın üstüne update() yaz. Çalıştır, oyuna tıkla ve oklarla yürü.

Beceriler: Klavye ve fare girdisi

Tüm adımlar

  1. Bir oda
  2. Kahraman
  3. Oyun döngüsü
  4. Yürü
  5. Duvarlar
  6. Dokunmatik ped
  7. Sonraki oda
  8. Kılıç
  9. Düşmanlar
  10. Vur!
  11. Peşine düşüyorlar
  12. Dolaşıyorlar
  13. Ah
  14. Yanıp sönme ve kalpler
  15. Anahtarlar ve kalpler
  16. Hatırlayan dünya
  17. Kilitli kapı
  18. Süre
  19. Oyun bitti
  20. Çıkış merdiveni
  21. En iyi süre
  22. Kendin yap: temizlenen odalar