作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
当我在游戏编辑器或手机上启动我的游戏时,它会出现 2-3 秒的故障并调用函数 OnApplicationPause
。但是当我在编辑器中关闭应用程序/暂停时它不会调用。这对我的项目不利,那么如何解决呢?有功能代码:
void OnApplicationPause()
{
DateTime time = DateTime.Now;
SaveVariablesInClass();
PlayerPrefs.SetString("SV", JsonUtility.ToJson(save)); //saves special class
}
void SaveVariablesInClass()
{
save.Bananas = bananas;
save.GoldBananas = goldBananas;
save.TwoBananasSpawnChance = twoBananasSpawnChance;
save.HigherBananaLevelChance = higherBananaLevelChance;
save.SimpleBananaStormChance = simpleBananaStormChance;
save.GoldBananaChance = goldBananaChance;
save.TwoGoldBananaChance = twoGoldBananaChance;
save.offlineEfficiency = offlineEfficiency;
save.offlineProductionTime = offlineProductionTime;
save.goldCoefficient = goldCoefficient;
save.BonusLevels = bonusLevels;
save.GoldBonusLevels = goldBonusLevels;
save.SimpleBonusLevelPrices = simpleBonusLevelPrices;
save.GoldBonusLevelPrices = goldBonusLevelPrices;
save.simpleMaxLevels = simpleMaxLevels;
save.goldMaxLevels = goldMaxLevels;
save.time = time.ToString();
save.CurrentSimpleBonus1 = currentSimpleBonus1;
save.LaunchedGame = launchedGame;
}
最佳答案
您在方法中缺少 bool 参数。它应该是 OnApplicationPause(bool pauseStatus)
。在 Awake 之后,每个 GameObject 都会调用 OnApplicationPause。所以你的代码应该是:
void OnApplicationPause(bool pauseStatus)
{
if (pauseStatus)
{
DateTime time = DateTime.Now;
SaveVariablesInClass();
PlayerPrefs.SetString("SV", JsonUtility.ToJson(save)); //saves special class
}
}
您在评论中显示的延迟是由渲染而非脚本引起的。
关于c# - 函数 "OnApplicationPause"在应用程序启动时起作用。安卓,unity3d,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56775185/
当我在游戏编辑器或手机上启动我的游戏时,它会出现 2-3 秒的故障并调用函数 OnApplicationPause。但是当我在编辑器中关闭应用程序/暂停时它不会调用。这对我的项目不利,那么如何解决呢?
我正在为 iOS 和 Android 应用程序开发 Unity,它在后台获取用户的位置。我想捕获应用程序成为背景的时刻,但 OnApplicationPause 从未调用过。 我只在 OnApplic
例如,当收到来电时,调用 OnApplicationPause(false),当返回到应用程序时调用 OnApplicationPause(true)。返回时会发生什么?我在场景中的所有游戏对象是否再
我是一名优秀的程序员,十分优秀!