代码创建cc.animation 加载plist并不能播放

var cccc = u.ani_state_.m_pCharSprite.addComponent(cc.Animation);
cc.loader.loadResDir(‘Anim/build_anim_mortar_lvl1_hd’,cc.SpriteFrame, function (err, clip) {

        // var frame = atlas.getSpriteFrame(framename);
        console.log(clip)
        var aaa = cc.AnimationClip;
       var caca = aaa.createWithSpriteFrames(clip,17);
        caca.wrapMode = cc.WrapMode.Loop;
        caca.name='anim'
        cccc.addClip(caca);

        cccc.play('anim');


    });

u.ani_state_.m_pCharSprite为Node类型,始终不现实动画

u.ani_state_.m_pCharSprite.setContentSize(cc.size(100,100));
var cccc = u.ani_state_.m_pCharSprite.addComponent(cc.Animation);
cc.loader.loadRes(‘Anim/build_anim_mortar_lvl1_hd’,cc.SpriteAtlas, function (err, atlas) {
var spriteFrames = atlas.getSpriteFrames();

        console.log(spriteFrames)
        var aaa = cc.AnimationClip.createWithSpriteFrames(spriteFrames,2);
        aaa.wrapMode = cc.WrapMode.Loop;
        aaa.name='anim'
        cccc.addClip(aaa);

        cccc.play('anim');

    });

var node = cc.find("Canvas/background/tmxmap/对象层1");
node.addChild(u.ani_state_.m_pCharSprite);

改成这样也是不行,不显示什么错误,但就是不显示动画,倒腾两天求救

你打印出来有值么

有 值,一个 spriteframe的array

有 值,一个 spriteframe的array ,打印 animation,显示也确实在播放,在就是没有显示

setLocalZOrder(100000000);设置Z值 小 和 大 都试过,就是不显示呢

你直接改为play()或者延迟播放试一下

我新建了一个 helloword项目,然后 onLoad: function () {
this.label.string = this.text;
var self = this;
cc.loader.loadRes(‘Anim/test’,cc.SpriteAtlas, function (err, atlas) {
var spriteFrames = atlas.getSpriteFrames();
var cccc = self.addComponent(cc.Animation);
console.log(spriteFrames)
var aaa = cc.AnimationClip.createWithSpriteFrames(spriteFrames,2);
aaa.wrapMode = cc.WrapMode.Loop;
aaa.name=‘anim’
cccc.addClip(aaa);

               cccc.play('anim');

               console.log(cccc);
           });
},

发现也是不显示,这应该是个bug吧?

你把HelloWorld发出来,我这边看一下

NewProjectttttt.zip (939.1 KB)

有播放的,是你添加错了

哪句错了指教一下

你这里的self是js

不太明白,js不能用在这吗

你起码要加到node上吧,组件是挂载到node的,不是挂载在js文件上的

你随便改一下,就像这样也能显示

能不能发下你的demo

我没改什么啊,还是你的代码,我只改了一行

只有系统的一些组件如sprite才能直接addcomponent组件吧.

这cocos玩意这么坑爹呢么,‘cocos’必须是sprite

node也行啊,node最基础的啊,至于Canvas能不能,我就没试过