gpt4 book ai didi

ios - 存储 Sprite Kit 关卡数据

转载 作者:可可西里 更新时间:2023-11-01 05:35:46 24 4
gpt4 key购买 nike

我正在做一个项目,其中一组目标出现在屏幕上。目标应该同时出现一定数量,并且在每次出现之间有一定的延迟。我的问题是如何正确存储该游戏的关卡数据。我正在考虑使用 csv 文件来存储关卡数据(目标类型、位置、延迟等),但我想知道是否有更好的方法来做到这一点。我也考虑过制作一个级别对象来存储级别信息,但我不确定。 Apple 说要使用“ Sprite 节点文件”,但我似乎无法找出那是什么意思。有什么想法吗?

最佳答案

您是否考虑过改用 plist 文件?那将是最容易解析的。您可以拥有一组目标(字典),然后定义位置、绝对延迟以及您想要的任何其他内容。

enter image description here

然后把它读入一个数组:

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 对象)中,然后从该归档文件中取消归档。但是,这与您想要做的不同。存档将创建游戏当前状态的单个“快照”。因此,例如在用户离开时保存游戏会很好。

关于ios - 存储 Sprite Kit 关卡数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20501629/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com