Unity一般关闭按钮C#

时间:2016-08-05 01:46:15

标签: c# android ios unity3d

我在Unity 5.3.4中编写C#代码。我一直在尝试开发一个按钮,当我在计算机上测试它或者我在Android或iOS中测试它时,它会关闭应用程序。

对于Android,我发现了这段代码并且它正在工作:

if (Application.platform == RuntimePlatform.Android) {
        if (Input.GetKeyUp(KeyCode.Escape)) {
            //quit application on return button
            Application.Quit(); 
            return;
        }
}

如果按下返回按钮,则会退出代码。我按下退出按钮并调用Application.Quit()时会开发一个被调用的函数。问题是,当我在计算机中测试代码时,这没有任何作用。

是否有一种更通用的方式来统一关闭APP,与您运行APP的平台无关?

2 个答案:

答案 0 :(得分:3)

您的移动应用程序(Anroid或iOS)中永远不会有退出按钮。这是主页按钮的功能。

现在您已了解,编辑器中会忽略Application.Quit();。您将UnityEditor.EditorApplication.isPlaying设置为false以退出编辑器中的游戏。在预处理程序指令的帮助下,您可以创建一个可在编辑器和独立构建中使用的退出功能。

void Quit()
{
    #if UNITY_EDITOR
    UnityEditor.EditorApplication.isPlaying = false;
    #else
    Application.Quit();
    #endif
}

修改

必须UnityEditor.EditorApplication.isPlaying = false;放在#if UNITY_EDITOR中,就像我在上面的Quit()函数中所做的那样,或者您的应用程序稍后无法构建。

Unity将抛出当前上下文中不存在名称“UnityEditor”错误消息。

答案 1 :(得分:3)

使用UnityEditor.EditorApplication.isPlaying = false;在编辑器中停止游戏。

如果您想要退出Unity以及所有设备中的应用,请使用System.Diagnostics.Process.GetCurrentProcess().Kill();

Application.Quit ()适用于大多数设备而没有问题。这不是一种编辑方法。