我开始在 Corona SDK 中开发一个类似于 tamagotchi(虚拟宠物之类的东西)的应用程序。我完全被卡住了,对如何获得一个部分一无所知。
游戏角色(比如“宠物”)如何改变其状态,例如在游戏不活动时变得饥饿或死亡?或者也许可以在玩家下次进入游戏时进行更改,也许将其绑定到全局时间(仍然不知道该怎么做)?
我将不胜感激任何帮助。
我能想到的最简单的方法是将所有相关数据保存在一个文件中。第一个数据将是游戏最后一次变为非活动状态的时间戳。
每次首次激活游戏时,它都会读取文件以及时间戳。在经过特定时间长度后,宠物会变得饥饿、疲倦等。如果经过非常长的时间,宠物就会死亡。
您可以通过在每个数据旁边放置一个时间戳来更进一步,例如“最后一次喂食”、“最后一次浇水”等,然后您可以通过保持全局“最后一次活动”使各个属性在不同时间过期,包括因无聊而死亡时间,如果很长时间没有运行游戏,宠物就会死亡。
我实际上创建了一个这样的应用程序。我在一个枚举中创建了许多状态,然后在一个 checkMoodState 方法中,我硬编码了决定情绪状态的值。
例如
时间自上次播放
timeSinceLastFeed
管他呢。
将日期写入要跟踪的每个变量的 plist 并在每次检查中或将它们存储在 NSUserDefaults 中(一个函数将它们全部写入,一个函数将它们全部加载),从中减去当前时间。你会得到一个负数,你可以得到它的绝对值。
您决定何时要检查最后一次,因为无论您检查的是什么,例如喂食。创建一个 NSTimer,其中包含检查之间的持续时间,并在计时器调用的方法中,您可以根据需要检查和更新情绪。