使用数组和 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);
}
}
}
据我朋友告诉我的,这应该有效,但实际上无效。
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);
}
}
}