我有这段代码可以让我检查两个对象之间的命中测试
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 次命中测试,我如何才能将对话打印出来?