gpt4 book ai didi

c# - 退出应用程序时保存游戏

转载 作者:太空狗 更新时间:2023-10-30 00:49:00 28 4
gpt4 key购买 nike

我正在使用 unity C# 制作游戏。我为游戏编写了一个保存本地和保存云的代码。当按下游戏时我制作了一个退出按钮,游戏被保存然后退出。

但是我在这里保存的游戏有问题。当某人或玩家按下移动设备上的主页按钮时,游戏将退出并在后台运行。

如果玩家重启设备,在后台运行的游戏将不会保存到本地或云端。这就是问题所在。

那么在 unity 中,当在移动设备上按下主页按钮时,unity 会做什么?是暂停应用程序/游戏还是其他什么?如果玩家按下主页按钮,我们可以在 unity 中做什么?

如果它暂停了应用程序/游戏,我们可以在玩家按下主页按钮时先检测到它,然后我们可以保存游戏吗? (我的意思是在按下主页按钮后运行代码)

或者根据您的经验,如果玩家按下主页按钮会发生什么?这是为了玩家不丢失游戏数据。

请提供详细信息,以便我找到解决方案。

任何帮助对于继续游戏来说都是很棒的:)

谢谢

丹尼斯

最佳答案

So in unity when home button pressed at device mobile what will unity do ?

Unity 不控制这个。操作系统确实如此。您没有提到是哪个操作系统(Android 或 iOS),但您可以研究按下每个操作系统的主页按钮时会发生什么。

我可以告诉您的是,该应用在 Android 上暂停了一段时间。有时, Assets 由 Android 卸载。这取决于许多因素,例如应用暂停的时间、打开的应用数量以及设备上的可用内存。

您不能依赖操作系统来处理此问题。你必须自己处理。

If it pause the application / game could we detect it first when the player press the home button we could do saving the game ?

是和否

您不应该检测何时按下主页按钮以执行某些操作。但是,您应该检测游戏何时暂停和恢复。

这就是OnApplicationPause函数用于。另一个类似的函数是 OnApplicationFocus但是OnApplicationPause更适合这个。

当按下主页按钮时调用 OnApplicationPause( bool pauseStatus ) 时,pauseStatus 参数为 true。重新打开应用程序时,pauseStatus 参数为 false

This is for the player to not lose the game data

saveload数据取决于 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
}
}

关于c# - 退出应用程序时保存游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41503548/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com