0

我有这段代码可以让我检查两个对象之间的命中测试

public function loop(e:Event):void
    {
        y +=  speed;

        if (y > stageRef.stageHeight)
        {
            setupAsteroid();

        }

        if (hitTestObject(target.hit))
        {

            q++;

            if(q == 3){

            myTextBox.text = myText;
            stage.addChild(myTextBox)
            trace(myText)


            }
            trace("Hit");
            trace(q);



            stageRef.addChild(new Explosion(stageRef, x, y));
            removeSelf();

        }
    }

如您所见,当发生 3 次命中测试时,它应该打印“Game Over”,但是我必须添加这个 tid 位:

  private function removeSelf():void
    {

        removeEventListener(Event.ENTER_FRAME, loop);



        if (stageRef.contains(this))
        {
            stageRef.removeChild(this);
        }





    }

为了删除所有必要的内容,这反过来又删除了我的事件侦听器,并使 q = 0 再次。如果发生 3 次命中测试,我如何才能将对话打印出来?

4

0 回答 0