我目前正在开发一些Unity项目(这是我的第一个项目,我不熟悉Unity),让我困扰的是,当我最小化Unity编辑器窗口时,断点仍然在打,尽管我有Application.runInBackground == false
,所以应用程序应该在后台暂停,但它不是!只有UI被冻结,音乐停止,而实际代码继续执行。所以,我基本上想知道这是一般行为还是这只发生在你运行在编辑器中允许调试和在发布构建代码执行停止?
我也有类似的问题。我发现这是因为我有一个IDE附加到Unity,只有这样才会发生这种情况。当你切换到发布模式时,一切都按照预期的那样进行——在Unity中调试模式。
你试过在编辑器中更改它吗?点击编辑->项目设置->的球员。检查面板现在会显示播放器设置。寻找"在后台运行"的选项。然后取消勾选。根据我的理解,Application.runInBackground == false
更多的是暂停,而不是停止脚本运行。如果你的项目是面向移动设备的(或者只是添加这个,可能会有所帮助),请尝试:
runinbackground在Android和IOS中是被忽略的
在Android上唯一有效的后台运行方式是通过Service。你可以使用OnApplicationPause方法在游戏暂停/取消暂停时获得通知。
public void OnApplicationPause(bool paused) {
if(paused) {
// Game is paused, stop service notifications.
} else {
// Game is unpaused, start service to get notifications
}
这里有一个关于android和unity之间通信的很好的教程