cocos2d-x中使用plist文件总结

来自:csdn qqTuBo

原文:

cocos2d-x 读取plist文件

最近在学cocos,有很多不错的游戏都是用cocos实现的,其实貌似捕鱼达人4月份流水账有3500W,好奇之下,看了看下捕鱼达人里的一些资源,顺便试着学习下plist的用法。
(接下来用到的资源都在捕鱼达人的APK内,直接解压了就能看到。)

我挑了FishActor-Small_hv.plist和它对应的png来看看下。

FishActor-Small_hv.plist内部的格式是这样的

<dict>
<key>frames</key>
<dict>
<key>btn_music.png</key>
<dict>
<key>frame</key>
<string>{{1, 46}, {31, 16}}</string>
<key>offset</key>
<string>{0,0}</string>
<key>rotated</key>
<false/>
<key>sourceColorRect</key>
<string>{{0, 0}, {31, 16}}</string>
<key>sourceSize</key>
<string>{31, 16}</string>
</dict>
</dict></dict>

结构是这样的:

文件名

frames

图片名

frame

可以通过这样获取object

这样就能获取到需要的对象。接下来添加一个开始游戏的menu。首先对HelloWorld改造下,先在init里加入背景


再加入开始游戏的按钮,开始游戏的贴图是通过,开始游戏的贴图在UI_GameMenuText_cn_hv.png和UI_GameMenuText_cn_hv.plist内首先获取开始游戏的CCRect

效果图如下cocos2d-x中使用plist文件总结_第1张图片
http://download.csdn.net/detail/qqtubo/5557369

 

来自:蓝色記憶

原文:

cocos2d-x 2.1 -- 读取.plist文件

 

在cocos2d-x中可以用.plist格式的文件来保存数据,它是XML文件格式的一种,在cocos2d-x解析.plist方面相关的资料比较少,但本身也很简单,要解析.plist文件可以参考cocos2d-x类库中的CCSpriteFrameCache类和CCParticleSystem类,它主要是使用CCDictionary类来对.plist文件进行操作。

下面有一个.plist文件:

读取.plist文件的代码如下:

第一行是.plist文件的相对路径,通过CCFileUtils类获得文件中绝对路径后,使用CCDictionary::createWithContensOfFile(filePath);将文件中内容加载到CCDictionary数据结构的内存中,然后通过xxxForKey获得相应的key下的value。

这里需要注意的是,当在读取'pos'的时候,它的值一个{x, y}的字符串,这是.plist文件中的数组存储规则,我们可以通过cocos2d-x提供函数api将这样的字符串转化为CCpoint对象。

上面这句话就是做了这样的一个转化的过程,同样的cocos2d-x还支持CCSize、CCRect的字符串的转化。他们转化的方法以及在.plist中对应的字符串格式如下:

CCPoint: CCPointFromString(); {x, y}

CCSize:  CCSizeFromString(); {w, h}

CCRect: CCSizeFromString(); {x, y, w, h}

这样我们2D游戏所初始化所需要的数据都基本上够用了,可以尝试将游戏的初始数据放在.plist中,然后修改调整数值就可以直接修改plist文件,而无需重新编译程序了,从而实现游戏数据和游戏逻辑的分离。


 

你可能感兴趣的:(plist)