0

我正在创建一个非常简单的 2d 游戏,您可以在其中将玩家滑过舞台以避免从顶部掉落的“石头”。我想要发生的事情是当我的球员接触到我的一块石头时比赛结束。这是我现在拥有的代码,我已经尝试了所有方法,所以我不知道我是否接近获得它或即将获得它。

    stage.addEventListener(Event.ENTER_FRAME,Collision);

function Collision( e:Event ):void{

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

当我使用这段代码时,玩家只是穿过岩石并且框架不会改变。请帮忙!

4

1 回答 1

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、loop 等这样的碰撞

于 2013-06-12T11:34:41.480 回答