我正在制作一个与团结C#游戏。我有代码保存本地和保存云的游戏。我做一个按钮出口时,按下游戏是保存,然后退出。
但我有一个问题在这里拯救游戏。当某人或玩家按下移动设备上的主页按钮时,游戏将退出并在后台运行。
如果玩家重新启动设备,在后台运行的游戏将不会保存到本地或云。这就是问题所在。
所以在统一的时候,在设备移动的时候按下家庭按钮,统一会做什么?它是暂停应用程序/游戏或其他什么?如果玩家按下主键,我们能做些什么呢?
,如果它暂停应用程序/游戏,我们能首先检测到吗?当玩家按下“主页”按钮时,我们可以保存游戏吗?(我的意思是在按下“回家”按钮后运行代码)。
或者根据你的经验,如果玩家按下主页按钮会做些什么?这是供玩家不要丢失游戏数据。
请给出细节,让我找到解决办法。
任何帮助都将是令人惊奇的继续游戏:)
谢谢
丹尼斯
发布于 2017-01-06 11:07:12
那么,在统一的时候,在设备移动按下家庭按钮时,统一会做什么呢?
团结并不能控制这一切。操作系统有。您没有提到哪个操作系统(Android或iOS),但是您可以研究按下每个操作系统的主按钮会发生什么。
我能告诉你的是,这个应用程序在Android上被暂停了一段时间。有时,这些资产会被Android卸载。这取决于许多因素,如应用程序被挂起多长时间、打开了多少应用程序以及设备上可用的内存。
您不能依赖操作系统来处理这个问题。你必须自己处理。
如果它暂停应用程序/游戏,我们能首先检测到吗?当玩家按下主页按钮时,我们可以保存游戏吗?
是和不。
当按下Home以执行某些操作时,您应该而不是检测。但是,您应该检测到游戏何时暂停并恢复。
这就是OnApplicationPause函数的用途。另一个类似的函数是OnApplicationFocus,但OnApplicationPause更适合这一点。
当按下Home Button时调用OnApplicationPause( bool pauseStatus )时,pauseStatus参数是true。当应用程序重新打开时,pauseStatus参数是false。
这是为了让玩家不要丢失游戏数据。
您可以根据save值对数据进行load和pauseStatus。
以下是要做的事情:
void OnApplicationPause(bool pauseStatus)
{
if (pauseStatus)
{
Debug.Log("Paused");
//Save Player Settings
//https://stackoverflow.com/q/40078490/3785314
}
else
{
Debug.Log("resumed");
//Load Player Settings
//https://stackoverflow.com/q/40078490/3785314
}
}https://stackoverflow.com/questions/41503548
复制相似问题