Atölye › Wolfenstein Tarzı 3B Labirent › 2/18. adım
Oyuncu ızgarada bir noktada duruyor; birimi kare: (1.5, 1.5) sol üstteki zemin karesinin tam ortası. Bir de bir yöne bakıyor: bir açı. Açı 0 → sağa bakar. Mini haritada sarı bir nokta ve baktığı yönü gösteren bir çizgi.
```js
let player
function reset() {
player = { x: 1.5, y: 1.5, angle: 0 }
}
ctx.fillStyle = '#facc15'
ctx.fillRect(player.x * MINI - MINI / 4, player.y * MINI - MINI / 4, MINI / 2, MINI / 2)
ctx.strokeStyle = '#facc15'
ctx.beginPath()
ctx.moveTo(player.x * MINI, player.y * MINI)
ctx.lineTo((player.x + Math.cos(player.angle)) * MINI, (player.y + Math.sin(player.angle)) * MINI)
ctx.stroke()
reset()
```reset() → oyuncuyu başa koyar; ileride yeniden oynamak için de çağıracağız. En altta draw()'dan önce çağrılıyor.player.x * MINI → kare biriminden mini harita pikseline. Nokta 4×4, ortalanmış (- MINI / 4).Math.cos(angle) ve Math.sin(angle) → baktığın yönde bir kare uzunluğundaki adımın yana ve aşağı payları.
Açı 0 iken cos 1, sin 0: tam sağa. Çizgi oyuncudan bu adımın ucuna gidiyor.Math.PI yarım tur (180°), Math.PI / 2 çeyrek tur.MINI satırının altına, bir boş satırdan sonra player ve reset yaz.draw'ın sonuna (minimap döngüsünün altına) noktayı ve yön çizgisini çizen satırları yaz.draw() satırının üstüne reset() yaz. Çalıştır.Beceriler: Canvas üzerine çizim, Hız ve yerçekimi
← Harita Tavan, zemin ve döngü →