好的,所以我有2张图片,玩家和敌人。我创建了一个函数来检查两个图像之间的碰撞。我试图让它们像你在2d平台上看到的那样发生碰撞,而不是让玩家停下来翻看图像;一旦它们在相同的x& y co ord中碰撞玩家图像冻结。这是我的代码。
// FUNCTION
function CollisionCheck(Img1, Img2, Obj1, Obj2, width){
if(Obj1.x < Obj2.x + width && Obj1.x + width > Obj2.x && Obj1.y < Obj2.y + width && Obj1.y + width > Obj2.y){
colliding = true;
return;
}else{
colliding = false;
return;
}
};
//循环检查碰撞(这可能是问题)
CollisionCheck(playerImg, enemyImg, player, enemy, 32);
while(colliding){
var x = player.x;
var y = player.y;
player.x = x;
player.y = y;
if(colliding = false){
return;
}
}
答案 0 :(得分:2)
你的while循环正在分配碰撞而不是进行比较(= vs ===)。此外,对player.x和player.y的分配没有做任何事情。