通过使用打包纹理工具,发布成功了.png和.plist文件。使用非常简单方便。本节课是用通过打包好的plist文件,一次性读取,减少io,实现高效率.用cc.SpriteFrameCache实现添加动画帧,然后循环遍历,并添加到数组中。然后获取每帧的name。最后通过一个空sprite来runaction这个动画。具体代码如下:@H_502_37@
var HelloWorldLayer = cc.Layer.extend({@H_502_37@
sprite:null,@H_502_37@
ctor:function () {@H_502_37@
cc.spriteFrameCache.addSpriteFrames(res.npc_plist);@H_502_37@
//根据帧缓存来创建sprite@H_502_37@
var sp=new cc.Sprite(cc.spriteFrameCache.getSpriteFrame("kick07.png"));@H_502_37@
this.addChild(sp);@H_502_37@
sp.setPosition(200,200);@H_502_37@
//使用帧缓存创建动画@H_502_37@
var frames=[];@H_502_37@
for(var n=1;n<10;n++)@H_502_37@
{@H_502_37@
var sf=cc.spriteFrameCache.getSpriteFrame("kick0"+n+".png");@H_502_37@
frames.push(sf);@H_502_37@
}@H_502_37@
var animation=new cc.Animation(frames,0.2);@H_502_37@
var animate=new cc.animate(animation);@H_502_37@
if(this.sprite==null){@H_502_37@
this.sprite = new cc.SpriteBatchNode("res/npc.png",1);@H_502_37@
this.addChild(this.sprite);@H_502_37@
}@H_502_37@
var sprite2 = new cc.Sprite(this.sprite.texture,cc.rect(0,0));@H_502_37@
this.sprite.addChild(sprite2);@H_502_37@
sprite2.setPosition(350,200);@H_502_37@
sprite2.runAction(animate.repeatForever());@H_502_37@
return true;@H_502_37@
}@H_502_37@
});@H_502_37@
var HelloWorldScene = cc.Scene.extend({@H_502_37@
onEnter:function () {@H_502_37@
var layer = new HelloWorldLayer();@H_502_37@
this.addChild(layer);@H_502_37@
}@H_502_37@
});@H_502_37@
http://www.cocoscvp.com/usercode/2016_04_30/d605366af01914a3c45e956b6b372101789055cb/@H_502_37@