我正在尝试制作某种Business Simulation Game,而且我计划开发的大多数任务都能正常运行..
现在我必须考虑如何在游戏逻辑中实现时间管理,以便根据时间将状态更改为精灵或分配奖金,硬币......
但最重要的是,如何在应用程序未运行时(即重新运行时...)
我想我应该使用某种游戏循环检查时间事件,我搜索了网络,但我没有找到任何有用的信息..主要是关于如何在重新运行时同步时间事件
..我能想到的唯一解决方案是依赖Date对象,但是如果用户然后更改设备的系统日期或者只是前往另一个时区怎么办?
答案 0 :(得分:1)
如果您的用户发现您的应用在他们没有告知的情况下在后台运行,即使是几秒钟,您也会让人生气。我建议强烈反对。
相反,当您的游戏在一段时间不活动后启动时,无论是五分钟还是五个月,请检查自上次运行以来的时差,并以最大速度运行模拟,直到您获得最新状态。如果已经很长时间了,可能会向他们展示进度条。
另外,不要担心人们改变手机上的时间。如果他们想玩你的游戏就足以搞砸了,那就是讨人喜欢,不是吗?时区应该无关紧要,因为您应该根据 machine 时间处理所有数据,而不是本地时间。只要确保你处理有人设置时钟的边缘情况,你就会发现他们没有在-1小时内玩过你的游戏。