在过去的三天里,我一直在摆弄我的游戏屏幕(它非常接近完成!),但无法想出我想要的结果。到目前为止,我有一个屏幕显示游戏结束,并显示总分和玩家获得的击杀次数。但我也想要两个按钮,一个用于重新启动游戏,一个用于显示排行榜(一旦实现)。
我想要一些简单的东西,例如喷气背包欢乐之旅或飞扬鸟;
有人可以给我看一个如何做到这一点的示例代码吗?我希望它在游戏结束时出现(我的代码是if ( gameOver == true );
)。到目前为止,我的每一次尝试要么使游戏崩溃,要么弄乱了我的其余代码......
我正在为Android创建一个游戏,并使用Unityscript进行编码。
您需要实现一个处理正在查看内容的 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;
然后,您将拥有一个协程来处理该状态下所需的任何行为,如下所示:
IEnumerator CS_PreGame()
{
DisableOtherCams (PreGameCam);
yield return 0;
}
这是在C#中,但没有一个是语法特殊的,所以你可以在Javascript中做这个确切的事情。
如果您仍然感到困惑,那么一个简单的查看方法是,只要您希望游戏进入游戏结束,只需将状态设置为游戏结束,创建协程,然后添加其中的行为。设置一个布尔值,并在 ONGui() 函数中让它仅在布尔值为真时才显示菜单(当游戏状态为真时将布尔值设置为 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来显示来自数据库的信息,或者如果你硬编码它,那么。