在Javascript中测试两个精灵是否接触

在Javascript中测试两个精灵是否接触,javascript,sprite,collision,Javascript,Sprite,Collision,我目前正在做一个简单的游戏。 我有一个炮弹和一个敌人。每当给定精灵接触时,我希望变量碰撞为1。这是我的密码: if (projectileposX >= enemyposX + 100 || projectileposX + 160 <= enemyposX) { colliding = 0; } if (projectileposY >= enemyposY + 100 || projectileposY + 160 <= enemyposY) { colliding

我目前正在做一个简单的游戏。 我有一个炮弹和一个敌人。每当给定精灵接触时,我希望变量碰撞为1。这是我的密码:

if (projectileposX >= enemyposX + 100 || projectileposX + 160 <= enemyposX) { colliding = 0; }
if (projectileposY >= enemyposY + 100 || projectileposY + 160 <= enemyposY) { colliding = 0; }
else { colliding = 1; }
if(projectleposx>=enemyposX+100 | | projectleposx+160=enemyposY+100 | | projectleposy+160=enemyposY+100 | | projectleposy+160=enemyposX+100 | | | projectleposx+160我知道我是问题所在(又一次).当使用此代码声明敌人的位置以进行测试时,我将其声明为错误。这些变量随后保持未定义状态,因此它不知道如何处理它。
上面的两个代码现在都工作得很好,没有改变任何一个字母的代码。

仍然要感谢所有至少尝试过帮助的人。

如果……您的代码完全忽略了第一个if,因为它将被y检查覆盖。我认为这不起作用(它不起作用)因为它测试精灵是否不接触。我可以将if语句拆分为4个或将它们合并为1个,这不会有什么区别。它忽略X检查…..你真的应该将X和y检查合并为一行你的代码忽略X检查,只依赖y检查….我的代码现在是:if(ProjectlePosy>=enemyposY+100 | | ProjectlePosy+160=enemyposX+100 | | | ProjectlePosX+160
我知道问题出在我身上(再次)
XD。欢迎编程:)
if (projectileposY >= enemyposY + 100 || projectileposY + 160 <= enemyposY || projectileposX >= enemyposX + 100 || projectileposX + 160 <= enemyposX) {
colliding = 0;
} else {
colliding = 1;
}
if (colliding == 1) {
//do stuff
}