修正cocos2dx中读取粒子plist文件emissionRate字段的错误
2014-03-06 23:29
423 查看
感谢红孩儿群主和他的徒弟刘亮,给与了我十分耐心和详尽的帮助。
目前windows下适用于cocos2d-x的粒子编辑器只有一个“Cocos2d-x-ParticleEditor-for-Windows”。
这是一个开源项目,你可以从下面的网址获取。
http://code.google.com/p/cocos2d-windows-particle-editor/
该编辑器使用起来简单易用,唯一的问题就是生成了plist文件以后,在项目中播放的效果和实际效果有很大的差别。我为此问题纠结了整整一天,最终还是刘亮同学给我指点了迷津,原来这是cocos2d-x的一个bug。即在读取粒子文件的发射速率处写错了,他并没有读取文件中的速率。
好了,直接说修修改方法
打开文件CCParticleSystem.cpp 336行,将下面这句,
// emission Rate
_emissionRate = _totalParticles / _life;
替换成
// emission Rate
_emissionRate = dictionary["emissionRate"].asFloat();
以上做法为3.0的修改方案,3.0以下版本请自行对照,原理相通。
再次编译,运行!效果即和编辑器中一模一样!
再次感谢那些在我学习中给予巨大帮助的朋友们,世界因为有你而更美好!
目前windows下适用于cocos2d-x的粒子编辑器只有一个“Cocos2d-x-ParticleEditor-for-Windows”。
这是一个开源项目,你可以从下面的网址获取。
http://code.google.com/p/cocos2d-windows-particle-editor/
该编辑器使用起来简单易用,唯一的问题就是生成了plist文件以后,在项目中播放的效果和实际效果有很大的差别。我为此问题纠结了整整一天,最终还是刘亮同学给我指点了迷津,原来这是cocos2d-x的一个bug。即在读取粒子文件的发射速率处写错了,他并没有读取文件中的速率。
好了,直接说修修改方法
打开文件CCParticleSystem.cpp 336行,将下面这句,
// emission Rate
_emissionRate = _totalParticles / _life;
替换成
// emission Rate
_emissionRate = dictionary["emissionRate"].asFloat();
以上做法为3.0的修改方案,3.0以下版本请自行对照,原理相通。
再次编译,运行!效果即和编辑器中一模一样!
再次感谢那些在我学习中给予巨大帮助的朋友们,世界因为有你而更美好!
相关文章推荐
- cocos2dx中读取.plist文件方法
- plist文件的读写 ; 读取 plist文件中的Boolean类型的字段值 和写入Boolean的值 (备忘)
- 读取plist文件中的Boolean类型的字段值
- cocos2d html5 3.8.1 .修复Cocos2d Particle Builder plist 粒子文件 base64 图片 解压错误
- Cocos2dx 学习随笔(一) Cocos2dx 3.x 读取plist文件 ValueVector 与 ValueMap的使用
- 01- - -1.获得项目中info.plist文件的内容 2.沙盒的数据存储及读取 3.控制器view的高度和状态栏statusBar的关系 4.[UIScreen mainScreen].applicationFrame的取值 5.按钮的状态 6.错误调试技巧 7.按钮的各种状态设置
- Flash Player8 ActiveX 读取本地中文文件夹文件错误问题
- 【SSMS】在.bak文件上读取失败:38(已到文件结尾) 错误:3203
- com.linuxense.javadbf读取dbf文件并更新数据中的字段
- 在VS.NET内使用“从源代码管理打开”时出现无法读取项目文件的错误
- OC读取plist文件
- 使用DevC++编程时出现无法读取自定文件的错误
- cocos2d-x 读取.plist文件
- iOS 创建.写入.读取plist文件
- cv::CascadeClassifier类在多次读取新版本xml模型时的错误及其修正[转]
- 文件输入输出错误,无法读取txt文件
- c++使用rapidxml读取cocos2dx的配置文件
- cocos2dx C++使用rapidxml读取XML配置文件
- 再谈额外的配置文件读取和ConfigrationManager.OpenExeConfiguration(exePath)的误导性错误
- Swift - .plist文件数据的读取和存储