我在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的平台无关?
答案 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 ()
适用于大多数设备而没有问题。这不是一种编辑方法。