A是一个Animation的节点
this.node.getComponent(cc.Animation).defaultClip = A.getComponent(cc.Animation).defaultClip
输出时候,this.node.getComponent(cc.Animation).defaultClip是空的,,有什么办法动态给defaultClip赋值呢??
cocos Creator版本是V2.0.10
A是一个Animation的节点
this.node.getComponent(cc.Animation).defaultClip = A.getComponent(cc.Animation).defaultClip
输出时候,this.node.getComponent(cc.Animation).defaultClip是空的,,有什么办法动态给defaultClip赋值呢??
cocos Creator版本是V2.0.10
@jare
JS里的代码是这样的,
properties: {
_defaultClip: {
default: null,
type: AnimationClip
},
defaultClip: {
type: AnimationClip,
get: function() {
return this._defaultClip;
},
set: function(value) {
true;
return;
var clips;
var i, l;
},
tooltip: (true, “i18n:COMPONENT.animation.default_clip”)
},
defaultClip这个值只有获取,不能赋值呀,。,,,,
this.node.getComponent(cc.Animation).addClip(aniClip)
这个是动画里面的值,,defaultClip这个是默认的,这个值不赋值,Play()是没有动画的。
play(clipName),要把clipName传进去
// 如果没有指定播放哪个动画,并且有设置 defaultClip 的话,则会播放 defaultClip 动画
anim.play();
我只想用defaultClip里面的值,
你还真是倔强,再给你一个骚操作,ani.play(ani._clips[0].name);这个在addClip之后,_clips里就有一个clip了,_clips[0]代表第一个clip
ani.play(ani._clips[0].name);
不是这问题,,是他JS那源代码有问题,你这些我都知道,不是我不用,是我想搞清这BUG,你看看我上面发的代码。他_defaultClip get值只有获取,set里面是直接return出去,。没有赋值给_defaultClip ,
那可能就是本身就不提供set方法,所以就不要纠结这个了,时间宝贵,能实现我们要的效果就行了
creator 里面拖动动画进去就有值,直接代码赋值就没值,这说不通!
你勾起了我的探索欲望,我尝试直接给_defaultClip赋值,然后play();结果是可行的,就是不知道会不会导致其他的bug
TS里面_defaultClip这个值是不能调用的。只能调用defaultClip,
我还能说什么?我没写过ts。你可以修改引擎代码,或者写一个新的类继承cc.Animtion,然后重载defaultClip方法(这个方法我不知道行不行)
修改这段代码
set: function(value) {
true;
return;
var clips;
var i, l;
},
修改成
set: function(value) {
this._defaultCli = value
},
就成功了。
defaultClip函数是在cocos2d-js-for-preview.js这个文件里面的!可是这文件在CocosCreator_2.0.10里面的,,我改了浏览器是成功了,可是Creator模拟器还是没变化!!!!
这破BUG,我也遇到了,前面关于动画逻辑比较多,我还以为是我的问题.
单独创建文件研究这个default,反复验证对比,才确认dufaultClip不能set.
今天不能set,干什么有这个方法,真让人头疼!!!
坑死人不偿命的.
时隔几年,我也遇到了,特么的,居然只能get不能set,但是3.x就能set