所以我有一个小的javascript迷宫游戏,我一直在努力。播放器使用鼠标光标控制角色。 我有一个用于墙壁的半透明.png位图(全部在一个文件中)和播放器。
这里的问题是我似乎无法建立一个有效的碰撞系统。
这是代码的重要部分:
// Calculate the distances between the cursor and the player
var xDistance = stage.getStage().mouseX - player.x;
var yDistance = stage.getStage().mouseY - player.y;
// Move the player
if (distance > 1) {
player.x += xDistance * easingAmount;
player.y += yDistance * easingAmount;
}
// Check collision for player (bounds)
var mapCollision = collisionMethod(bounds, mapLines, 1);
if (mapCollision) {
if (xDistance > 0 || xDistance < 0)
player.x -= xDistance * easingAmount;
else if (yDistance > 0 || yDistance < 0)
player.y -= yDistance * easingAmount;
}
CollisionMethod实际上是ndgmr.checkPixelCollision。
碰撞应沿着墙壁滑动。此碰撞仅在玩家与Y轴墙碰撞时起作用。
我对JS来说还是一个新手,并且在这种情况下可能有更好的方法来创建碰撞,所以任何类型的帮助或信息都会受到高度赞赏。 谢谢!