关于Armature动画加载的问题

    我的场景中有7种动画,大概有最多80多个动画对象,都属于这6、7种里的。参考例子在场景onEnter的时候,使用addArmatureFileInfoAsync把这7种动画的JSON文件异步加载。全部加载成功后,再创建这80多个动画。可80多个动画全部显示中第一个addArmatureFileInfoAsync时加载的动画了。然后改成在创建动画的时候,每创建一个动画时再addArmatureFileInfo对应的动画文件,创建完成后,removeArmatureFileInfo这个动画文件。这样,是能所有的动画都正确地显示了。可加载的速度也太慢了。
  是我使用的方式不对?应该怎么个使用法?

难道没人遇到类似的问题?

可80多个动画全部显示中第一个addArmatureFileInfoAsync时加载的动画了

没看懂你这句话。。。

80多个动画全部都是第一个addArmatureFileInfoAsync加载的动画?

是这样的。比如说,我连续加载两个动画文件
addArmatureFileInfoAsync(“aa.ExportJson”)
addArmatureFileInfoAsync(“bb.ExportJson”)
addArmatureFileInfoAsync(“cc.ExportJson”)
在生成动画的时候:
ccs.Armature:create(“bb”)
ccs.Armature:create(“cc”)
这个时候,所有显示的动画都是aa

慢指的是什么 慢

换了例子自带的hero.ExportJson,horse.ExportJson。倒是能正常显示了。现在看来,应该是动画资源的问题,可不知道问题出在哪儿了。我这些动画,里面的层名字、动作名字都是一样的

嗯,动画名称一样会起冲突。
动画加载后都会放到一块的。

动画名字不一样,刚刚跟踪了下代码。应该是纹理名字一样导致的。
我的动画是这么做的。
所有的动作帧,比如说狼人、熊两个NPC。对应两个资源文件wolf.png/wolf.plist,bear.png/bear.plist。资源里的攻击切片都命名为atk01,atk02。
在做动画,添加资源的时候,把atk01,atk02拖到编辑器里后,名字都自动变成Layer1,Layer2了。
在编辑动作帧的时候,动作名字统一为atk_left,atk_right等。

刚刚跟踪代码,发现在添加纹理的时候,全部是以切片的名字,比如:atk01,atk02来作为key存储纹理的。这儿应该是有冲突的

遇到了同样的问题。美术那边纹理命名一样了,导致冲突了