2.0如何动态加载spine资源?

最新文档有这一句:
Creator 从 1.10 开始正式支持了 JSON 文件。项目 assets 文件夹下的所有 .json 文件,都会导入为 cc.JsonAsset。

而spine的资源文件也是json(来自文档):
骨骼动画所需资源有:
.json 骨骼数据
.png 图集纹理
.txt/.atlas 图集数据

那么问题来了,cc.loader.loadRes(‘spine/girl’, sp.SkeletonData)加载为sp.SkeletonData还是cc.JsonAsset?

实际使用在v1.9.x里
先用cc.loader.loadRes(‘spine/girl’, sp.SkeletonData)得到skdata, 然后node.addComponent(sp.Skeleton).skeletonData = skdata;

然而在2.0这样做会报错,因为加载得到的是cc.JsonAsset,而不是sp.SkeletonData。
那么2.0里如何去动态加载一个spine?

自顶一下。。。。。。。

我们的测试例能正常加载,你能给一个 demo 吗?不知道你是怎么用的?

emmmmmm,demo的话,需要从项目里提取出来才行。。。。

简单的说就是:
我期望的是sp.SkeletonData,然而返回给我的是Object…

然后,我拿着这样用:
var node = new cc.Node();
var sk = node.addComponent(sp.Skeleton);
sk.skeletonData = asset; // 这里直接报错了。然而在1.9并不会。。。。

解决问题了,
反复查了下,
是从1.9升级到2.0时导入spine失败了,
当时开着Creator的开发者工具,错误提示只显示在Editor的Console,没有打印在开发者工具的Console而被忽略了。。。。。
修复后重新导入spine就成功了!

daji.zip (575.1 KB) 这个资源文件是我们这边在 1.10.0 运行正常,但在 2.0.0 creator 里不正常的 spine 相关的资源文件,麻烦帮忙排查一下

你好,我用的是2.0.1版本的cocos creator,
这样使用,运行后界面上什么都没有显示,请问是什么原因呢

已经赋值,并且获取到的资源类型是sp.SkeletonData类型的

你这个node还没有被addChild到场景吧

1赞