【请求联系方式】CCArmature添加粒子发射器遇到的BUG,求救~ [cocostudio库问题反馈]

由于发布的时候,会提示输入危险字符,一直发布出来,所以详细的内容发到了csdn上面,请跳转一下

CCArmature添加粒子发射器遇到的BUG,求救~ 编辑器问题反馈]
http://blog.csdn.net/sonikk/article/details/14139051

这个bug问题比较厉害,求解决!

2013-11-5 22:13:57
第三次问题反馈:最新的问题见下方的回复,处理速度很快~再次thx!

来人啊~~~,我顶

楼主稍等,正在看你的问题

崩溃问题已修正
显示不正确的问题 我这没有呢,可能之前的修改已经修复

commit 在这 : https://github.com/2youyouo2/cocos2d-x/commit/6f21d2e41fb389fef9648991900ccafff3e342ba

崩溃问题确实是修正了,谢谢

不过我加载了不同的粒子到CCBone当中,粒子的显示都是错误的,粒子会变得很大,伴随坐标错乱的移动,然后就消失了

如果我把CCBone.cpp 当中 void CCBone::update(float delta)多加一个false条件,不让其进入,则粒子不会出现乱跳消失,而是变大显示,无拖尾效果

if (m_bBoneTransformDirty) 
{ 

bool c1 = false;
if (m_fDataVersion >= VERSION_COMBINED && c1)
{
CCTransformHelp::nodeConcat(*m_pTweenData, *m_pBoneData);
m_pTweenData->scaleX -= 1;
m_pTweenData->scaleY -= 1;
}

// …
}

而且我希望骨骼动画在移动过程中,粒子会有拖尾效果,而且显示的粒子大小是正确的,我发现粒子并没有拖尾效果,请修正!thx

修复移动 拖尾 :https://github.com/2youyouo2/cocos2d-x/commit/580a1ead9fbce571b5d4f88e58db8dd70ba4179c

但是 我这大小 并没有问题,可能是版本问题
建议 试下 获取最新代码试下
https://github.com/2youyouo2/cocos2d-x/

我已经同步了最新的github上的cocos2d-x代码

现有几个bug希望得到改善:

// ---------------------------------------------

  1. CCArmature读取到的值是0,0
    int w = arma1->getContentSize().width;
    int h = arma1->getContentSize().height;
    能够改为当前动画第一帧的包围盒size大小?获取0对我来说好像没有必要,之前的cocos2d-x 2.2版本是可以获取的,后来改了怎么又没了

// ---------------------------------------------

  1. 给CCBone挂载粒子动画,还是有问题,我的CCArmature是通过cocoStudio 1.0.2.0编辑导出的,可能是你测试用的骨骼动画版本太老了,所以无法复现这个问题
    当前错误的现象:
  2. 粒子动画会显示得比正常的大很多
  3. 场景显示后,粒子动画会马上放很大然后位置错乱逐渐消失掉
  4. 粒子动画的拖尾如果设置了Scale(-1.0f, 1.0f),x方向翻转后,粒子的拖尾方向是反的,可以设置一个Move的Action来测试,左右走,走到底就转身
  5. 如果粒子动画直接addChild到CCArmature中,也会出现当scaleX=-1的时候拖尾方向相反的问题

// ---------------------------------------------

  1. 这句话会崩溃
    extensions\CocoStudio\Reader\CCSGUIReader.cpp

line:99
UIWidget* CCSGUIReader::widgetFromJsonDictionary(cs::CSJsonDictionary* data)
{
DictionaryHelper* dicHelper = dicHelper;

line:200
UIWidget* CCSGUIReader::widgetFromJsonFile(const char fileName)
{
DictionaryHelper
dicHelper = dicHelper;

更改为:
DictionaryHelper* dicHelper = DICTOOL; 即可

// ---------------------------------------------
4. cocoStudio 编辑器在打开的时候,时间一长就会特别占用cpu造成系统卡顿,希望得到改进

顶顶顶~~~~

  1. 我的改为最新版本导出,  获取也不为0,可能是特殊编辑照成的,可以发工程给我测试下
    

2.1. 我的改为最新版本导出, 挂载也没有问题,大小也没有问题,看你的代码有句 sp->getBone(“weapon”)->setScale(4.0f); 你缩放了?如果不是, 也可能是 特殊编辑照成的,可以发工程给我测试下
2.2. 粒子的拖尾方向是反的,这个 cocos2d-x 粒子本身就是这样的,你可以到 particle test 把 移动的 layer setScale(-1) 试下。解决的话 你可以 在 设置 armature scale(-1)的时候 把 粒子也 scale(-1)了 试下。
3. 这个为UI问题,建议 发新贴
4. 这个属于疑难杂症,可以发邮件到cocoStudio邮箱催下

  1. 嗯,等我整理一个demo出来,怎么联系你,你有QQ或者邮箱么,我在CocoStudio官方交流4群里你在么?

  2. 不好意思,放大确实是因为我设置scale(4.0f),之前忘记删除了,原因是一出来粒子就散乱消失了,所以我故意设置大一点比例才看得到一点残影,否则就是什么都看不见

  3. 我刚才测试了我自己的工程,在设置armature sx=-1的时候,用回调函数也设置粒子发射器的sx=-1,结果粒子并没有翻转效果,等于没设置

  4. 我制作骨骼动画用的是cocoStudio 1.0.2.0版本,cocos2d-x库用的是昨天中午从github上zip打包下载的https://github.com/2youyouo2/cocos2d-x/ ,不知道你用的是什么版本,是否有差异,还有就是千万不能用官方例子里的那个左右手有粒子的机器人测试,那个机器人的骨骼动画版本太老了,文件格式也不对,用cocoStudio导出一个做测试,我也重新导出一个再测试测试,有消息马上给你提供反馈 thx~

  5. 昨天我同步了最新的cocos2d-x以后,发现打包到Android手机中运行,有时在加载场景的时候会出现崩溃,但不是每次都崩溃,有比较低的概率会出现,好像看到过一次日志是找不到什么文件/文件夹之类的,感觉之前在官网下的cocos2d-x2.2.0就比较稳定

直接下 zip包的话 不能保证得到 最新代码

你用 git clone 这个 https://github.com/2youyouo2/cocos2d-x.git 地址

我是用的 最新 编辑器导出的

我在每个 群里面 @云里.雾里

额。。 我在 编辑器里面 直接给骨骼挂上粒子后,发现在虚拟机上都正常 但是真机时 读到 待粒子的文件时 就直接退掉了看后台,读取函数全是null ,然后试着去 json文件里 直接把 挂载 粒子的那个骨骼的"display_data": ] 去掉了 ,然后 就没问题了, 骨骼什么都对。 。。。 是不是真机解析 粒子有问题??? 真机 和 虚拟 的差别就是在 到出的 json里 去掉了粒子, 代码应该没有问题。。。。。。

最新版本?

这边调试的结果之一,貌似对于Exportjson文件资源表里的包括图包、粒子系统plist的解释,都是使用addSpriteFrameCatch之类的方式解释,而刚好在那套解释方式下,图包需要在plist读取frames表项,但粒子的plist没有这个项,于是报The value type isn’t Type::MAP错误,

这边的处理方法是,在粒子的plist里面第一个和angle之间,插入frames,让它cosplay一下图包,读取就ok了。