hitTestObject在for循环

时间:2017-11-13 05:51:36

标签: flash-cc

我正在构建一个游戏,其中使用嵌套了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函数来设置让动作碰撞工作,但它对性能有很大影响。

非常感谢任何指导。

0 个答案:

没有答案