我正在创建一个非常简单的2D游戏,您可以将玩家滑过舞台以避免从顶部掉落的“岩石”。我想要发生的是当我的玩家与我的一块岩石接触时游戏结束。这是我现在的代码,我已经尝试了所有的东西,所以我不知道如果我接近它或离开了。
stage.addEventListener(Event.ENTER_FRAME,Collision);
function Collision( e:Event ):void{
if(player.hitTestObject(rock1))
{
gotoAndStop(3);
}
}
当我使用此代码时,玩家只是穿过岩石,框架不会改变。请帮助!
答案 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,循环...等等