图1:这是运行场景后,拉了一个spine进来,spine图能显示但animation读不到
图2:没运行场景状态拉一个spine进来是可以识别到animation的
表现的问题是代码动态读取spine后播放spine的animation无法播放 
图1:这是运行场景后,拉了一个spine进来,spine图能显示但animation读不到
图2:没运行场景状态拉一个spine进来是可以识别到animation的
表现的问题是代码动态读取spine后播放spine的animation无法播放 
111111111111111顶顶顶顶顶顶
有大佬遇到过吗,动态加载的spine播放动画无效
顶顶顶顶顶顶dddddddddddd
救命救命救命救命救命救命救命救命救命救命
运行状态是无法读取到spine的animation的,你动态加载是怎么写的?
那你动画设置呢?这个只是加载代码
这边是我获取spine的方法,里面夹了写对象池复用可以忽略,spine要先设置skin再设置animation
getSPAni(parent: Node, path: string, skin?: string, aniName?: string, loop: boolean = true, cacheMode: sp.AnimationCacheMode = sp.AnimationCacheMode.PRIVATE_CACHE): AniCall {
return new AniCall((resolve) => {
let setSpine = (spine: sp.Skeleton) => {
loop = loop ? true : false;
spine.premultipliedAlpha = false;
skin = skin || "default";
spine.setSkin(skin);
spine.enableBatch = true;
spine.setAnimation(0, aniName || "animation", loop);
}
if (this.pool[path] && this.pool[path].length > 0) {
let node = this.pool[path].pop();
node.setParent(parent);
node.layer = parent.layer;
let spine = node.getComponent(sp.Skeleton);
setSpine(spine);
resolve(node);
} else {
let node = new Node("SP");
node.layer = parent.layer;
node.setParent(parent);
let spine = node.addComponent(sp.Skeleton);
let skePath = "animation/" + path;
resources.load(skePath, sp.SkeletonData, (error, skeAsset) => {
if (error) {
return;
}
this.addSpineRef(skeAsset);
if (!node.isValid) {
this.decSpineRef(skeAsset);
return;
}
spine.setAnimationCacheMode(cacheMode);
spine.skeletonData = skeAsset;
if (!node.hasEventListener(Node.EventType.NODE_DESTROYED, this.spineDestroyedEvent)) {
node.on(Node.EventType.NODE_DESTROYED, this.spineDestroyedEvent, this);
}
setSpine(spine);
resolve(node);
});
}
});
}
大佬我试了
var data = node.addComponent(sp.Skeleton)
data.skeletonData = skData;
data.setSkin("default");
咋这个还是没识别到呢 
可以了,跟skin也没啥关系,真艹了,要先node插进根节点后再addspine的组件 
resources.load("spineboy-pro", sp.SkeletonData, function (err, skData) {
if (err) {
console.log("createRes:" + err);
return;
}
else {
var node = new Node();
var data = node.addComponent(sp.Skeleton)
node.parent = this.node;
data.skeletonData = skData;
// data.setSkin("default");
data.setAnimation(0, "idle", true);
node.layer = Layers.Enum.UI_2D;
return node;
}
}.bind(this))
如果
node.parent = this.node;
放在最后就不行,并且跑起来ide右侧栏animation还是显示为null