Cocos2d-JS3.1 + Cocos Studio2.0.0.0Beta 问题及解决!

本人正在学习Cocos2d-JS3.1和Cocos Studio2.0.0.0 Beta,在学习过程中,遇到了一些问题,有些自己解决了,有些绕过去,还有些没解决!我想学友们也可能会遇到相似问题,不敢藏拙,将问题和解决办法发于此处,有不对的地方,请回复,望共勉!(本帖会持续更新)

  1. 环境信息
    a) 系统: Macosx 10.10
    b) 引擎: Cocos2d-JS 3.1
    c) IDE: Cocos Code IDE v1.0.1
    d) Builder: Cocos Studio v2.0.0.0 Beta
    e) 浏览器: Chrome 38.0

  2. 无法加载csb中指定的图片
    a) 原因: 在Studio中,我将csb文件放到了文件夹目录下,结构如下:

    .Body
    - Menu
    - a.png
    - Menu.csd
    .Body.csd

    b) 解决: 将所有的csd文件提到目录下
    c) 说明: 估计命令:ccs.csLoader.setRecordProtocolBuffersPath(true);也能解决问题,但我未找到办法。

  3. 加载一个csd文件中嵌套的另一个csd文件失败
    a) 原因: 这个问题我追踪到了引擎,发现CSLoader.js的334行报错,代码是:
    var filePath = options.filename();
    b) 解决:在问题修复前,不要使用Studio提供的csd嵌套功能
    c) 说明:这个问题我已经发技术帖,但目前未收到确定的答复!

  4. csb文件中的粒子文件加载失败
    a) 原因:这个问题我追踪到了引擎,发现CSLoader.js的1001行报undefined,代码是:
    node = new cc.ParticleSystemQuad(path);
    貌似是引擎未找到cc.ParticleSystemQuad类的定义
    b) 解决:估计需要手动加载粒子文件了,还没尝试过

  5. 将csb文件添加到层中,坐标错位
    a) 原因:Studio将csd转换为csb文件时,丢失了下Layer的锚点信息(即:变为0,0)
    b) 解决:Studio中,下所有的Layer的锚点使用0,0,更深层次的Layer锚点不会丢失

  6. Cocos Studio中,无法对“文本组件”进行动画操作(比如:文本组件在第一帧和第二帧中大小不同),需要代码进行控制其显示
    a) 原因:未知,显示动画时,文本组件总是显示不对,多次尝试后才发现这个问题
    b) 解决:可以在代码中增加适当控制,即:当切换到不同帧时,针对文本组件执行相应的动画代码

加载一个csd文件中嵌套的另一个csd文件的原因找到了,是因为你用的是Mac。我测试过了在Mac做完,项目copy到win下发布就允许csb文件嵌套了。

我在Win下也尝试过,还是不行的,看来要拼人品了!你人品比我好!(我是在Win下直接用Studio做的,不是拷贝Mac下的文件),现在我已经不用嵌套了,多写点代码呗!