发生碰撞后如何停止游戏?

时间:2013-06-11 21:30:04

标签: actionscript hittest

我正在创建一个非常简单的2D游戏,您可以将玩家滑过舞台以避免从顶部掉落的“岩石”。我想要发生的是当我的玩家与我的一块岩石接触时游戏结束。这是我现在的代码,我已经尝试了所有的东西,所以我不知道如果我接近它或离开了。

    stage.addEventListener(Event.ENTER_FRAME,Collision);

function Collision( e:Event ):void{

       if(player.hitTestObject(rock1))
       { 
            gotoAndStop(3);
       }
}

当我使用此代码时,玩家只是穿过岩石,框架不会改变。请帮助!

1 个答案:

答案 0 :(得分:0)

假设你已经有了移动落下的摇滚并控制玩家的逻辑。首先,您必须设置跟踪语句以确保发生碰撞,然后结束游戏,只需删除事件监听器并执行任何需要,例如在屏幕上显示游戏:

stage.addEventListener(Event.ENTER_FRAME,Collision);

function Collision( e:Event ):void{

   if(player.hitTestObject(rock1))
   { 
       trace("player collided with rock1!");

       // stop the enter frame event from firing
       stage.removeEventListener(Event.ENTER_FRAME, Collision);

       // go to game over screen or what ever
       gotoAndStop(3);
   }
}

最好调用输入帧处理函数比碰撞更好,比如onEF,循环...等等