在过去的三天里,我一直在玩游戏屏幕上的游戏(这已经太接近完了!),但是还没有能够想出我想要的结果。到目前为止,我有一个屏幕显示游戏结束并显示总得分和玩家获得的杀戮数量。但是我也想要两个按钮,一个用于重启游戏,一个用于显示排行榜(一旦实现了)。
我想要一些简单的东西,例如Jetpack Joyride或Flappy Bird;
有人可以告诉我一个如何执行此操作的示例代码吗?我希望它在游戏结束时出现(我的代码是if ( gameOver == true );
)。到目前为止,我的每一次尝试都会使游戏崩溃或者与我的其余代码混乱......
我在Unityscript中创建了一个Android游戏和编码游戏。
答案 0 :(得分:-1)
您需要实现一个处理正在查看内容的GUI系统。例如,在我的一个游戏中,我有一个屏幕上的游戏,它只会显示我是否将我的游戏状态设置为游戏结束:
public enum CameraState
{
CS_PreGame, CS_NodeSelect, CS_Player, CS_Ball, CS_EndGame
}
public enum GameState
{
GS_MenuSelect, GS_NodeSelect, GS_Swing, GS_BallInAir, GS_BallLanded, GS_EndGame
}
在这里,您正在初始化2个代表游戏状态机的枚举......
然后你制作那些......
的实例public CameraState cam_State;
public GameState game_State;
然后在开始时你可能想要将状态设置为你想要的第一个状态,如下所示:
cam_State = CameraState.CS_PreGame;
然后你会有一个Coroutine来处理那个状态你想要的任何行为,如下:
IEnumerator CS_PreGame()
{
DisableOtherCams (PreGameCam);
yield return 0;
}
这是在C#中,但它们都不是语法特殊的,所以你可以在Javascript中做到这一点。
如果你仍然感到困惑,那么一个简单的方法来看待它就是你希望游戏进入游戏结束时,只需将状态设置为那里的游戏,制作你的协程,并在那里添加行为。设置一个bool,并且在一个ONGui()函数中,如果bool为true,它只显示一个菜单(当游戏状态为游戏结束时将bool设置为true)
void OnGUI()
{
if (showGUI) {
// Main Menu Options
if (currentMenu == "main")
MainMenu();
else if (currentMenu == "credits")
Credits();
else if (currentMenu == "exit")
Exit();
}
重新启动游戏很简单,只需加载第一级(Application.LoadLevel(0)),你必须自己做排行榜,但你会有某种类型的GUI来显示来自数据库的信息,或者如果你硬编码然后那。