我打算在游戏中使用各种计时器进行虚拟宠物游戏(饥饿频率下降,以及很多Facebook游戏使用的能量系统。)
但是,我想如果用户关闭应用程序,我们将无法访问应用程序的计时器吗?因此,服务器必须在其他服务器上运行才能使应用程序顺利运行。
我想到的一个解决方案是使用[NSDate date]
,是否可行?
谢谢。
答案 0 :(得分:2)
更好的方法是存储重要事件,并严格使用游戏中的计时器来检查下一个事件。例如,如果主人喂狗,只需记下狗实时喂食,然后让你的计时器每隔一段时间开火,看看是否有足够的时间来保证让狗再次饥饿。这样,计时器的实际状态就无关紧要了。
此外,这意味着您不需要多个计时器。您将拥有一个处理器方法,该方法将查看您的状态,并根据自上次事件以来的时间量触发其他方法。
答案 1 :(得分:0)
如果您的宠物游戏要求用户在应用上播放,您可以随时保存必要的详细信息,并在用户再次启动应用时重新加载。否则,您可能需要一台服务器并且每次都进行同步。
答案 2 :(得分:0)
现在计算机非常快。
即使不使用离散公式,也可以生成整天的统计数据 - 即使不使用离散公式 - 如果应用程序未打开,则宠物不需要“变得饥饿”和任何一旦应用程序再次处于活动状态,就可以生成统计信息更改或“每日事件” - 甚至无需担心非活动应用程序的后台事件。
然而,我怀疑对于一个更友好的游戏会使用额外的“软”逻辑来鼓励用户在宠物玩耍时不会在商业会议中饿死:这是游戏,游戏可以制定自己的规则只要用户继续玩。
快乐的编码。
答案 3 :(得分:0)
在我看来,您的问题更多的是关于如何在应用关闭时让您的计时器触发。答案是你没有。但是,您可以使用iPhone上的本地存储来存储事件XYZ 发生的最近时间,并且当应用程序接下来再次启动时(例如1天后),您可以将当前时间与最近节省的时间,并在用户看到任何其他内容之前快速更新状态。用户将不再是明智之举,并且看起来好像游戏世界中的时间已经过去了。