使用createjs进行碰撞检测

时间:2015-03-09 19:51:03

标签: collision-detection createjs

我是createjs中的一个完整的新手,并希望对这个碰撞检测主题有一些指导。我使用循环使用字体awesome创建了一些文本对象。接下来,我将其作为objx保存在变量id中,并在其中更新其位置坐标(x,y)。这是碰撞检测的代码:

createjs.Ticker.addEventListener("tick", function(){
    var jx,jy,jt,t;
        for(var i = 0 ; i < objx.length-1 ; i++)objx[i].id.color="#8B0000";
        for(var i = 0 ; i < objx.length-1 ; i++){
            x = objx[i].x;y = objx[i].y;t = objx[i].id;
            for(var j = i+1 ; j < objx.length-1 ; j++){
                jx = objx[j].x;jy = objx[j].y;
                if(x+t.getMeasuredWidth()>=jx && y+t.getMeasuredHeight()>=jy )
                {
                    jt = objx[j].id;
                    jt.color="#0000CD";
                    t.color="#0000CD";
                }
            }
        }
        stage.update();});
  }


}

tweenjs的初始部分工作正常。我只是希望碰撞以这样的方式发生,使得文本的颜色仅在碰撞时改变并且应该在碰撞后返回到初始颜色。这会生成一个类似于以下内容的图像: enter image description here

1 个答案:

答案 0 :(得分:1)

这对于EaselJS碰撞检测非常有用。 Collision Detection

您可以使用像素完美检测或边界框碰撞检测。