我有这个代码,它允许我检查两个对象之间的命中测试
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次命中测试发生,对话将打印出来怎么样?