JavaScript冲突检测不支持';你好像不工作?

JavaScript冲突检测不支持';你好像不工作?,javascript,animation,canvas,collision-detection,Javascript,Animation,Canvas,Collision Detection,所以我试图在我的外星入侵者表演中设置碰撞检测。但它几乎不起作用。我的意思是我从来没有得到过有效的点击,或者truereturn。我甚至尝试过很多不同的方法,但不管出于什么原因,我都没能得到正确的答案 碰撞检测是为玩家向外星飞船发射子弹而进行的,只是为了澄清,如果有必要的话:D 下面是碰撞检测代码:(我试图让它容易出错,希望它能成功,尽管似乎没有任何方法可行) var isCollidingWithAlien=函数(快照){ var alienImg=document.getElementById

所以我试图在我的外星入侵者表演中设置碰撞检测。但它几乎不起作用。我的意思是我从来没有得到过有效的点击,或者
true
return。我甚至尝试过很多不同的方法,但不管出于什么原因,我都没能得到正确的答案

碰撞检测是为玩家向外星飞船发射子弹而进行的,只是为了澄清,如果有必要的话:D

下面是碰撞检测代码:(我试图让它容易出错,希望它能成功,尽管似乎没有任何方法可行)

var isCollidingWithAlien=函数(快照){
var alienImg=document.getElementById('alien');
for(变量i=0;i<0.length;i++){
回击.x<异形[i].x+alienImg.width&&
shot.x+shot.img.width>外星人[i].x&&
shot.y<异形[i].y+alienImg.height&&
shot.y+shot.img.height>外星人[i].y;
}
};
这并不是因为代码没有被调用,或者是一些奇怪的技术错误。它永远不会变成真的

如果您想查看所有代码,这里有一个

@更新:
我们一直在玩代码,它似乎正确地注册了创建的第一个外星人,如果您查看JSFIDLE,它位于左上角。不知道为什么,尽管问题是,您只返回列表中第一个外星人的碰撞。如果对某个外星人为true,则应返回true,或者在所有外星人没有碰撞后返回false:

var isCollidingWithAlien = function(shot){
    var alienImg = document.getElementById('alien');
    for(var i = 0; i < aliens.length; i++){
        var result = shot.x         < aliens[i].x + alienImg.width  && 
        shot.x + shot.img.width     > aliens[i].x                   &&
        shot.y                      < aliens[i].y + alienImg.height && 
        shot.y + shot.img.height    > aliens[i].y;
        if(result)
            return true;
    }
    return false;
};
var isCollidingWithAlien=函数(快照){
var alienImg=document.getElementById('alien');
for(变量i=0;i<0.length;i++){
var result=shot.x外星人[i].x&&
shot.y<异形[i].y+alienImg.height&&
shot.y+shot.img.height>外星人[i].y;
如果(结果)
返回true;
}
返回false;
};

这很有道理!我不敢相信这是如此明显!谢谢你,伙计!
var isCollidingWithAlien = function(shot){
    var alienImg = document.getElementById('alien');
    for(var i = 0; i < aliens.length; i++){
        var result = shot.x         < aliens[i].x + alienImg.width  && 
        shot.x + shot.img.width     > aliens[i].x                   &&
        shot.y                      < aliens[i].y + alienImg.height && 
        shot.y + shot.img.height    > aliens[i].y;
        if(result)
            return true;
    }
    return false;
};