1. 程式人生 > >【cocos2d-js系列問題】cocos2d-js建立幀動畫的兩種方法

【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);

第二種方法:
同樣要建立一個空的精靈
var sp = new cc.Sprite();
sp.setTag(1000);
sp.setPosition(500,400);
this.addChild(sp,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);

這個就當著是一個筆記,看到的人希望能幫助你,謝謝