Unity通用关闭按钮C#

本文关键字:关闭按钮 Unity | 更新日期: 2023-09-27 18:00:13

我正在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()。问题是,当我在电脑中测试代码时,它什么都不做。

有没有一种更通用的方式来统一关闭应用程序,独立于你运行应用程序的平台?

Unity通用关闭按钮C#

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

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

Application.Quit ()在大多数设备上都能正常工作。它不是一个可调用的编辑器方法。

您的移动应用程序(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"错误消息。