Unity:游戏结束屏幕 - 显示带有重启和排行榜的统计数据



在过去的三天里,我一直在摆弄我的游戏屏幕(它非常接近完成!),但无法想出我想要的结果。到目前为止,我有一个屏幕显示游戏结束,并显示总分和玩家获得的击杀次数。但我也想要两个按钮,一个用于重新启动游戏,一个用于显示排行榜(一旦实现)。

我想要一些简单的东西,例如喷气背包欢乐之旅或飞扬鸟;

有人可以给我看一个如何做到这一点的示例代码吗?我希望它在游戏结束时出现(我的代码是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来显示来自数据库的信息,或者如果你硬编码它,那么。

最新更新