我正在构建一个游戏,其中使用嵌套了Movieclip的MovieClip构建英雄。嵌套的MovieClip是英雄在不同帧中的移动。此外,还有一些MovieClip是嵌套的两个级别。
现在这里是我正在做的代码:
public function movesCollisions(event:Event):void{
for (var ea:int = 0; ea < enemies.length; ea++){
//parent .child .sibling
if(sketch.slidepunch.sketchfist.hitTestObject(enemies[ea])){
enemies[ea].animstate = "defeated";
//Here this first collision works fine but the next
//collsion below does not, I have no Idea why.
}else if(sketch.archforward.rhandHit.hitTestObject(enemies[ea])){
enemies[ea].animstate = "defeated";
}
}
}
我遇到的问题是当我有条件的else时,hitTestObject不起作用。如果我注释掉else语句,第一个就可以了。我怎么能解决这个问题,因为我需要检查更多的动作以进行碰撞。
他们只能通过创建一个不同的Event.ENTER_FRAME函数来设置让动作碰撞工作,但它对性能有很大影响。
非常感谢任何指导。