Eksplorasi
Terrain & Collision
Memeriksa tile tujuan sebelum karakter bergerak dan menghentikan gerakan pada terrain terblokir.
terrain-collision.js
function canMoveTo(scene, worldX, worldY) {
const column = Math.floor(worldX / scene.tileSize);
const row = Math.floor(worldY / scene.tileSize);
const index = row * scene.mapWidth + column;
const terrain = scene.terrainGrid[index];
return terrain?.navigationMode !== 'blocked';
}
if (!canMoveTo(this, nextX, nextY)) {
this.player.setVelocity(0, 0);
}
Potongan kode disederhanakan untuk pembelajaran. Implementasi production dapat memiliki validasi, penyimpanan progres, dan penanganan error tambahan.