Javascript CreateJS:冲突实现问题

Javascript CreateJS:冲突实现问题,javascript,collision,easeljs,createjs,sliding,Javascript,Collision,Easeljs,Createjs,Sliding,所以我有一个小javascript迷宫游戏,我一直在努力。玩家使用鼠标光标控制角色。 我有一个半透明的.png位图用于墙(全部在一个文件中)和播放器 这里的问题是,我似乎无法制作一个有效的碰撞系统 以下是代码的基本部分: // Calculate the distances between the cursor and the player var xDistance = stage.getStage().mouseX - player.x; var yDistance = stage.getS

所以我有一个小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;
}   
//计算光标与播放器之间的距离
var xDistance=stage.getStage().mouseX-player.x;
var yDistance=stage.getStage().mouseY-player.y;
//移动玩家
如果(距离>1){
player.x+=xDistance*easingAmount;
player.y+=yddistance*easingAmount;
}
//检查玩家的碰撞(边界)
var mapCollision=collisionMethod(边界,映射线,1);
如果(映射冲突){
如果(xDistance>0 | | xDistance<0)
player.x-=xDistance*easingAmount;
否则如果(Y距离>0 | | Y距离<0)
player.y-=yddistance*easingAmount;
}   
CollisionMethod实际上是ndgmr.checkPixelCollision

碰撞应沿墙壁滑动。此碰撞仅在玩家与Y轴墙碰撞时有效

我对JS还很陌生,对于这种情况,可能有更好的方法来创建冲突,所以任何帮助或信息都将不胜感激。
谢谢

不确定,因为我不知道您的大部分代码,但请尽量不使用else if,而是仅在if时使用。您还可以将if(xDistance>0 | | xDistance<0)缩短为if(xDistance),或者干脆不使用if,如果为0,则u减法为0。为什么要在后台调用
getStage
?如果
stage
是一个EaselJS stage实例,那么它只会返回一个对自身的引用。谢谢你的好意。这里是一个具体问题的简单演示,这里是实际的JS代码。我从if语句(第128行)中删除了else,但现在播放器碰到墙时卡住了。