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

Duvarda dur, boyunca kay

Ne yapıyoruz

Artık move gitmeden önce sorsun. Yana ve aşağı hareket ayrı ayrı soruluyor: bir duvara çapraz yürüyünce yalnız duvara giren pay durur, öbür pay sürer. Böylece oyuncu duvara yapışmak yerine duvar boyunca kayar.

```js
// Moving each axis on its own lets the player slide along a wall instead of sticking to it.
function move(dx, dy) {
  if (!blocked(player.x + dx, player.y)) player.x += dx
  if (!blocked(player.x, player.y + dy)) player.y += dy
}
```

Ne işe yarıyor

Sıra sende

move fonksiyonunun iki satırlık gövdesini iki kontrolle değiştir, üstüne yorum satırını yaz. Çalıştır ve bir duvara yürü.

Beceriler: Çarpışma tespiti

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ş