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()。问题是,当我在电脑中测试代码时,它什么都不做。
有没有一种更通用的方式来统一关闭应用程序,独立于你运行应用程序的平台?
在编辑器中使用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"错误消息。