关于JS版本使用csb的问题!

目前我的经验,可能不对,大家可以批评指正:

JS要使用csb的资源,首先必须使用:

ccs.csLoader.setRecordProtocolBuffersPath(true);

另外,用cocostudio创建资源时,*.csd文件文件必须在根目录,其它资源文件大概可以放在任意子目录中。

还有就是js3.1的CSLoader.js如下两行需要修改,可能是这个版本的bug,应改为(注意大小写):
(1)
line 334:

var filePath = options.fileName;

(2)
line 341:

var action = ccs.actionTimelineCache.createActionFromProtocolBuffers(this._protocolBuffersPath + filePath);

2014/12/14更新
今天又发现3.1版加载csb中frame animation的问题。如果一切资源在res根目录下没有问题,否则会出现加载资源时路径不对,暂时的解决方法是:
将ActionTimelineCache.js的line 585左右的

var texture = frameProtobuf"filepath"];

改为

 var texture = frameProtobuf"filePath"];

注意filePath中的P大写。
随后再添加几行:


        if (ccs.csLoader.isRecordProtocolBuffersPath() == true){
            texture = ccs.csLoader.getProtocolBuffersPath() + texture;
        }

这样就能加载csb中的frame animation了。
但加载后的动画失去了编辑器中设置的透明属性,这个还未解决,请高人补充。

注:
3.2不支持读取Cocos2.x的资源。
Cocos2.1开始支持导出json格式,此格式可以认为是js专用。导出格式在项目设置里边配置。

感谢分享!:2::2:

楼主威武!

赞。。
请教为什么我加载csb,可是里面的各种资源都404(全都从根目录下找的,怎么修改?)

添加searchpath

东阳大竹,您啥时候能给段addSearchPath的代码??我一直没找到有效地addSearchPath,这个在web环境下到底有用没?

js的貌似是
cc.fileUtils.addSearchPath

你看看把。

感谢了 楼主

CSLoader.js:861-862改为


var anchorx       = options"anchorPointX"] !==null ? options"anchorPointX"] : 0;
var anchory       = options"anchorPointY"] !==null ? options"anchorPointY"] : 0;

东扬大神 这个函数在resources.js里使用么 ~