我正在为 Ubuntu Touch 开发一款游戏,当用户离开应用程序转到另一个应用程序时,该游戏需要进入“暂停”状态。我该如何实现这一点?
我尝试查看 MainView 的可见性是否发生变化,但并没有变化。在 cookbook 和 API 中都找不到它。
答案1
qt 导入的命名空间中有一个应用程序属性,其状态可以绑定到:
Connections {
target: Qt.application
onStateChanged:
if(Qt.application.state !== Qt.ApplicationActive) {
// Pauze the game here
}
}
文档这里内容如下:
应用程序状态
Qt.ApplicationActive - 该应用程序是最顶层和最集中的应用程序,用户能够与该应用程序进行交互。
但从顶部或左侧滑动也会出现此问题。
在桌面上,当您调整窗口大小时也会出现这种情况,我认为这是一个错误。
还有:
Qt.ApplicationSuspended - 应用程序已暂停,用户无法看到。在移动平台上,当用户返回主屏幕或切换到另一个应用程序时,应用程序通常会进入此状态。在此状态下,应用程序应确保用户认为它始终处于活动状态,不会丢失进度,并保存任何持久数据。应用程序应停止所有活动并准备好停止代码执行。在暂停状态下,应用程序可以随时被终止,而无需进一步警告(例如,当内存不足迫使操作系统清除已暂停的应用程序时)。
但这似乎不起作用。我报告了一个错误报告。如果它也影响到你,请标记。