使用数组和 hitTest - AS3

Using arrays and hitTest - AS3

据我朋友告诉我的,这应该有效,但实际上无效。

var P2hb:Array = new Array(P2char1, P2char2, P2char3);
var P2life:Number = 0;  

addEventListener(Event.ENTER_FRAME, framecheck)
function framecheck(event:Event):void
{
if (P2hb.hitTestObject(P1attack)) { P2life-=2; }
}

这是一个通用代码,但它与我拥有的相同。基本上, P2hb 中的所有元素都是舞台上的 movieclips。 我想说的是,如果 P1attack 命中数组中的任何对象,那么 P2life 将减少 2,而不必为每个单独的对象键入 hitTestObject()
我似乎无法让它工作。谁能告诉我我做错了什么?
提前谢谢你。

简单地说,遍历数组中的每个个体 "movieClip"(例如,使用 for 循环)并检查与其他对象的碰撞:

function framecheck(event:Event):void
{
    for each (var enemy in P2hb) {
        if (enemy.hitTestObject(P1attack)) {
            P2life-=2;
            trace("hit occurred! P2life: "+P2life);
        }
    }
}