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

时间:2014-11-20 21:03:16

标签: android unity3d unityscript

在过去的三天里,我一直在玩游戏屏幕上的游戏(这已经太接近完了!),但是还没有能够想出我想要的结果。到目前为止,我有一个屏幕显示游戏结束并显示总得分和玩家获得的杀戮数量。但是我也想要两个按钮,一个用于重启游戏,一个用于显示排行榜(一旦实现了)。

我想要一些简单的东西,例如Jetpack Joyride或Flappy Bird;

有人可以告诉我一个如何执行此操作的示例代码吗?我希望它在游戏结束时出现(我的代码是if ( gameOver == true );)。到目前为止,我的每一次尝试都会使游戏崩溃或者与我的其余代码混乱......

我在Unityscript中创建了一个Android游戏和编码游戏。

1 个答案:

答案 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来显示来自数据库的信息,或者如果你硬编码然后那。