好的,我的主类中有一个数组,如下所示:
objectArray:Array = [ ];
我有三个函数可以创建不同的项目,如硬币、敌人、心等。每个添加的项目都被推入objectArray
. 我正在尝试编写这个函数来测试我的子弹对这些对象中的任何一个:
private function checkCollisions() :void{
var bullet:MovieClip;
for (var j:int = 0; j < objectArray.length; j++){
object = objectArray[j];
for(var i:int = 0; i < bulletArray.length; i++){
bullet = bulletArray[i];
if (objectArray[j].hitTestPoint(bullet.x, bullet.y, true)) {
container.removeChild(bullet);
bulletArray.splice(i,1);
if (objectArray[j] == Enemy[j]){
container.removeChild(objectArray[j]);
objectArray.splice(j,1);
trace("enemy hit");
}
}
}
}
}
问题来自这部分:
if (objectArray[j] == Enemy[j]){ \\problem
container.removeChild(objectArray[j]);
objectArray.splice(j,1);
trace("enemy hit");
}
我一直在尝试寻找一种方法来测试正在被命中的对象是否针对某个值(例如“敌人”)进行测试,以便我可以根据被命中的对象类型产生不同的结果。无论我尝试哪种测试组合,我似乎都无法让它响应。当我跟踪objectArray[j]
时,它会产生[object Enemy]
结果。有不同的测试数组值的方法吗?