我在Flash CS5和ActionScript 3.0制作一个简单的平台游戏。当玩家失去一生时,我希望它将玩家重定向到“游戏结束”屏幕,他们可以选择“再试一次”按钮重新开始游戏。故障复位对象/闪存CS5
我无法找到一个方法来做到这一点。我一直在试图通过执行以下操作来完成我的目标:
- 设置应有尽有(播放器,背景等),以可见=影片剪辑假
- 集“游戏结束”可见= TRUE(这是在游戏过程中不可见的)
- 已在“游戏结束”的影片剪辑隐藏影片剪辑中的按钮,然后重新显示所有的游戏元素,玩家开始的
- 复位位置,设置分数为0,活到3,等..
这是probab虽然这不是一个很好的方法,但如果它有效,那么我很高兴。我只想让“游戏结束”屏幕短暂显示,如果玩家点击“再试一次”按钮,他们可以从头开始玩。
现在,我上面实现的问题是,当我将所有游戏元素设置为false后,将它们设置为visible = true时,游戏已停止。键盘输入不会重新激活,游戏元素显示但不活动。是否有关于我不知道的可见属性的内容?它是否与一个对象的“状态”混淆?
下面是一些代码片段从ActionScript文件...
if(lives >= 0) {
//print number of lives
}
else {
gameOverFlag= true;
//hide game objects, show game over menu
Coins.visible = false;
Platforms.visible = false;
Background.visible = false;
StartPosition.visible = false;
thePlayer.visible = false;
GameOver.visible = true; //this is the movie clip with the "Game over" text and "Try again" button in
GameOver.TryAgainButton.addEventListener(MouseEvent.CLICK, playagain);
}
function playagain(event:MouseEvent):void
{
//start game again
Coins.visible = true;
Platforms.visible = true;
Background.visible = true;
StartingPosition.visible = true;
thePlayer.visible = true;
}
你有一个主要的游戏循环,你可以停止和重新启动,而不是玩可见性?当你完成它之后,你是否也会从再次尝试按钮中移除事件监听器? – Sam 2011-03-16 19:47:30
你可以尝试的其他东西就是将对象的x值设置为离开屏幕。 – Sam 2011-03-16 19:48:19