脚本是我根据官方的动态创建动画来的。因为我的素材是每个dong动作一个套图片,所以我是这样设置:
1,素材整理
一套素材包含:站立,跑步,攻击,技能,死亡,采集,每个动作都有8个方向的素材,
比较多少,所以 我就把每个动作生成一个.plist,所以一套装备就有 6张大图了。为了动作不偏移。我们在TexturePacker合并图片的时候选择,
保持图片的空白部分,这样图片会大点,所以在压缩等级上,我选择了2级压缩。
然后图片保存名字根据动作序号和装备套数进行保存编号即可。
脚本创建动画:
cc.Class({
extends: cc.Component,
properties: {
path:"素材路径",
},
// use this for initialization
onLoad: function () {
var animation = this.getComponent(cc.Animation);
cc.loader.loadRes(this.path, cc.SpriteAtlas, (err, atlas) => {
var spriteFrames = atlas.getSpriteFrames();
var fr=[];
for (var j=0;j<8;j++){
for (var i=0;i<10;i++){
fr[i]=spriteFrames[j*10+i];
//console.log(i);
}
var clip = cc.AnimationClip.createWithSpriteFrames(fr, 10);
clip.name = 'run'+j;
console.log(clip.name);
clip.wrapMode = cc.WrapMode.Loop;
animation.addClip(clip);
}
animation.play('run0');
});
},
// called every frame, uncomment this function to activate update callback
// update: function (dt) {
// },
});
run是保存的动画。后面跟的J是对应的方向(0-7)共8个方向。
这只是我自己用的方法。