我正在开发一个项目,其中屏幕上会出现一组目标。目标应该同时出现一定数量,并且每次出现之间有一定的延迟。我的问题是如何正确存储该游戏的关卡数据。我正在考虑使用 csv 文件来存储关卡数据(目标类型、位置、延迟等),但我想知道是否有更好的方法来做到这一点。我也考虑过制作一个关卡对象来存储关卡信息,但我不确定。苹果说使用“精灵节点档案”,但我似乎不知道这意味着什么。有什么想法吗?
您是否考虑过使用 plist 文件?这将是最容易解析的。您可以拥有一组目标(字典),然后定义位置、绝对延迟以及您想要的其他内容。
然后将其读入数组:
NSArray *targets = [NSArray arrayWithContentsOfFile:plistPath];
for (NSDictionary *dictionary in targets) {
CGPoint position = CGPointMake([dictionary[@"positionX"] floatValue],
[dictionary[@"positionY"] floatValue]);
float delay = [dictionary[@"time"] floatValue];
// Do something with this information, maybe create a Target instance etc.
}
您也可以对 CSV 文件执行相同的操作,但解析它们会稍微困难一些(不过也不是太难)。
关于档案,Apple 的意思是所有 Sprite Kit 类都支持 NSCoding。这意味着它们可以存档到文件(或 NSData 对象)中,然后从该存档中取消存档。然而,这与您想要做的不同。存档将创建游戏当前状态的单个“快照”。因此,当用户离开时,保存游戏会很好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)