触发条件创建一个node挂在spin组件 隐藏node 脚本设置 spine.setAnimation(0, “xx”)
active设置false this._skeleton未赋值 未什么不直接用findAnimation获取
public findAnimation (name: string): spine.Animation | null {
if (this._skeleton) {
return this._skeleton.data.findAnimation(name);
}
return null;
}
跟 this._skeleton.data.findAnimation(name) 没区别啊。而且只有sp.Skeleton组件执行了__preload以后依赖的SkeletonData才会被使用,setAniamtion才不会报错。你创建了节点先添加到场景中激活的节点让组件执行__preload,然后再设置动画。
你这是什么编辑器,那你就激活了,再setAnimation
有区别啊,findAnimation方法有检测_skeleton存在的话,才去查找动画否则返回空,上面没检测_skeleton是否存在就去获取,肯定报错了。看截图902行animation不存在的话直接return了
cocos那是底层类,调用不严谨
