LINQO Life

Katalog Mekanik Phaser

Akses Publik

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.