cocos2d-js创建帧动画的两种方法

前端之家收集整理的这篇文章主要介绍了cocos2d-js创建帧动画的两种方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

不过在这之前,一定要先把图片加载到内存当中去;其实你也可以不加,但是需要换另外一个函数就行;

//将plist问价加载到内存当中 cc.spriteFrameCache.addSpriteFrames(res.play_plist);

第一种方法:

创建一个空的精灵

var sp = new cc.Sprite();
sp.setTag(1000);
sp.setPosition(500,400);
this.addChild(sp,1);
 
//定义一个数组 后面加中括号
var allFrame = [];
//for语句载入5个动画图片 for(var i = 1; i < 4; i++){
    //加载针动画,rect四个参数,前两个X,Y的坐标,默认0就OK, //后面两个参数传图片的宽度和高度  var str = "enemyLeft1_"+i+".png";
    var allf = cc.spriteFrameCache.getSpriteFrame(str);//new cc.SpriteFrame()

    if(!allf){
        cc.log("@@@@@@@");
    }

    allFrame.push(allf);
}

//每隔0.03秒切换一张图片 var animation = new cc.Animation(allFrame,0.1);
//把所有的动画连接起来进行播放 var animate = new cc.Animate(animation);
//重复的执行摸个动作 var action = animate.repeatForever();//new cc.RepeatForever(animate) //用精灵来执行针动画,让针动画跑起来 sp.runAction(action);

第二种方法
同样要创建一个空的精灵
1);

for(var i = 1;i<=4;i++){
    var frameName = "enemyLeft1_"+i+".png";
    animation.addSpriteFrame(frameName);
}

animation.setDelayPerUnit(0.1);
animation.setRestoreOriginalFrame(true);
var action = cc.animate(animation).repeatForever();
sp.runAction(action);
这个就当着是一个笔记,看到的人希望能帮助你,谢谢

猜你在找的Cocos2d-x相关文章