[英]Save game when exiting app
我正在制作一个团结C#的游戏。 我有代码保存本地并为游戏保存云。 当按下游戏保存然后退出时,我按下一个按钮退出。
但我在这里保存的游戏有问题。 当某人或玩家按下设备移动设备上的主页按钮时,游戏将退出并在后台运行。
如果玩家重启设备,则在后台运行的游戏将不会保存到本地或云端。 这就是问题。
所以在统一当主页按钮按下设备移动时,统一会做什么? 这是暂停应用程序/游戏或其他什么? 如果玩家按下主页按钮,我们可以做什么?
如果暂停应用程序/游戏,我们可以在玩家按下主页按钮时首先检测到它,我们可以保存游戏吗? (我的意思是在按下按钮后运行代码)
或者根据你的经验,如果玩家按下主页按钮会怎么做? 这是为了让玩家不丢失游戏数据。
请详细说明我找到解决方案。
对于继续比赛,任何帮助都会很棒:)
谢谢
丹尼斯
所以在统一当主页按钮按下设备移动时,统一会做什么?
Unity无法控制这一点。 操作系统。 您没有提到哪个操作系统(Android或iOS),但您可以研究每个操作系统按下主页按钮时会发生什么。
我可以告诉你的是,该应用程序在Android上暂停了一段时间。 有时,Android会卸载资产。 这取决于许多因素,例如应用程序已暂停多长时间,打开的应用程序数量以及设备上可用的内存。
你不能依靠操作系统来处理这个问题。 你必须自己处理它。
如果暂停应用程序/游戏,我们可以在玩家按下主页按钮时首先检测到它,我们可以保存游戏吗?
是和否。
当为了做一些按下Home键,则不应检测。 但是,您应该检测游戏暂停和恢复的时间。
这就是OnApplicationPause
函数的用途。 另一个类似的功能是OnApplicationFocus
但是OnApplicationPause
更适合这个。
按下Home按钮时调用OnApplicationPause( bool pauseStatus )
时, pauseStatus
参数为true
。 重新打开应用程序时,pauseStatus参数为false
。
这是为了让玩家不丢失游戏数据
这是做什么的:
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
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.