在我为学校制作的迷宫游戏中,我正在努力撞墙。 我有一个想法,就是在绘制地图时实际上只是放置“允许路径”的X和Y坐标,以获取玩家可以在其中移动的坐标。 但是我真的无法使其正常工作,任何指针和帮助将不胜感激!
我要在代码片段下方粘贴播放器的运动以及我想出的路径的开始。
function gameLoop() {
ctxPc.clearRect(0,pcCanvas.width,pcCanvas.height);
if (playerup == true) {
for (let i = 0; i < allowedPathY.length; i++) {
if (positionY == allowedPathY[i]) {
positionY -= moveSpeed;
}
}
//positionY -= moveSpeed;
}
else if (playerDown == true) {
positionY += moveSpeed;
}
if (playerLeft == true) {
positionX -= moveSpeed;
}
else if (playerRight == true) {
positionX += moveSpeed;
}
drawPlayer(positionX,positionY);
window.requestAnimationFrame(gameLoop);
console.log(positionX,positionY);
}
gameLoop();
四处走动都很好,只是必须完成该路径!
编辑:是的,我知道上面的if语句将不起作用,但是我无法全力以赴如何使这一想法起作用。我坚信这是进行此操作(而不是使墙壁发生碰撞检测)的最佳方法(理想方式)。