为什么骨骼数据读取不统一成一个文件名接口?

  • 本帖最后由 rrobin 于 2013-8-5 21:04 编辑 *

在读取骨骼文件的时候,本以为读出.json或.xml的文件然后更换后缀就可以了,结果崩了.跟代码才发现,居然.png和.plist的名字和.xml/.json的名字不一致,为什么要搞3个名字参数?还不给一个配置来联系它们.更坑爹的是knight示例.xml,plist和png都叫knight,但create时使用的key居然是"Knight_f/kinght"!是不是有一种被人耍了的感觉?
能不能在骨骼XML输出时加入跟png和plist的联系?还有希望armature->create时使用的key不要那么随意.

xml是flash的文件,json是cocostudio导出的文件,格式不同很正常,如果你把flash项目导入到cocostudio的action导出,就可以得到json格式的文件了。还有就是关于名字,这个和xml里面的数据有关。对于png和plist,你可以试试用texture packer打包一下。

  • 本帖最后由 rrobin 于 2013-8-6 16:40 编辑 *

其实我想做的只是预加载所有的骨骼信息到CCArmatureDataManager里,结果我发现testcpp里的代码是这样写的…

        CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("armature/TestBone0.png", "armature/TestBone0.plist", "armature/TestBone.json");
         CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("armature/Cowboy0.png", "armature/Cowboy0.plist", "armature/Cowboy.ExportJson");
        CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("armature/knight.png", "armature/knight.plist", "armature/knight.xml");
        CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("armature/weapon.png", "armature/weapon.plist", "armature/weapon.xml");
        CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("armature/robot.png", "armature/robot.plist", "armature/robot.xml");
        CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("armature/cyborg.png", "armature/cyborg.plist", "armature/cyborg.xml");
        CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("armature/Dragon.png", "armature/Dragon.plist", "armature/Dragon.xml");

我不相信编辑器里也是这样硬代码加载.
既然已经编辑完成了,对应关系也编辑好了,就应该有个配置将这种联系记录下,而其他的客户只需要使用一个简单接口就可以使用这个已经生产好的对应关系来实现显示.而这个接口更是像面对编辑者的接口.但往往编辑者是不会去记录这样的对应关系的.导致在使用上会与生产脱节.

CocoStudio导出的 .json 骨骼的名字和文件名字是对应的。
DragonBone导出的 .xml 名字 不能和文件名字一样,一个.xml文件里面可能会包含 多个 骨骼,一个名字对应怎么对应的过来。
.xml 是DragonBone导出的,你可以用CocoStudio做的

我看到LZ写了一个quick-x的ccs分支 有能渲染ccs骨骼动画的Demo么~我用quick-x渲染出来不对呀:10: