如何在cocos2d和iOS中使用plist文件?

时间:2012-07-30 16:42:22

标签: objective-c ios cocos2d-iphone

我基本上有一个游戏,突破克隆。 我厌倦了以编程方式制作关卡,所以我得到了这个编辑器= Scenedesigner,可以让你在画面上放置精灵,节点等。

问题 - 如何在我的游戏中加载.plist文件并让我的游戏了解它?

例如,我为我的精灵使用复合对象 - 例如ball是Ball类,其中包含ccsprite作为属性,它将如何工作?

2 个答案:

答案 0 :(得分:1)

不确定您是如何创建plist的,但是关于使用 NSDictionary 的帖子应该回答您的问题:https://stackoverflow.com/a/1760384/388412

...... NSArray 基本相同,这两个类都可以存储对象,读取和写入文件/ URL(从而读取和写入plist)。

所以,您可能应该首先使用字典或数组,然后将其写入文件以创建plist。反过来可能会导致问题,具体取决于特定plist的格式。

对于更复杂的序列化,您应该查看 NSCoding 协议。您可以使用它来序列化和反序列化整个对象树(使用 NSArchiver NSUnarchiver )。虽然,不要单独使用NSArchiver / NSUnarchiver,但最好使您的类符合NSCoding。

如果你的情况不那么复杂,我建议从NSDictionary / NSArray序列化开始,因为它更容易处理。

答案 1 :(得分:0)

您可以使用dictionaryWithContentsOfFileNSDictionary的{​​{1}}方法 arrayWithContentsOfFile NSArray方法将plist转换为数组或字典,具体取决于plist的内容。