1. 程式人生 > >cocos2d-js使用plist執行自身動作

cocos2d-js使用plist執行自身動作

方式 預加載 cocos func delay restore this string copy

首先需要將精靈動作幀動畫圖片使用TexturePacker創建plist,創建好後,將生成的plist和png圖片(所有幀動畫圖片集成的一張大圖);

百牛信息技術bainiu.ltd整理發布於博客園

1、進行預加載操作

[javascript] view plain copy
  1. cc.spriteFrameCache.addSpriteFrames(res.Mario_plist);

預加載後,可在工程中加載使用plist中的任何一個動作圖片,使用方式:

[javascript] view plain copy
  1. cc.spriteFrameCache.getSpriteFrame("mario_14_01.png");


2、精靈需要自身動作,如跑動或者擊打等動作,執行代碼如下:

[javascript] view plain copy
  1. addFrames:function(){
  2. for(var i=1;i<21;i++){
  3. if(i<10){
  4. this.spriteFames.push(cc.spriteFrameCache.getSpriteFrame("mario_14_0"+i+".png"));
  5. }else{
  6. this.spriteFames.push(cc.spriteFrameCache.getSpriteFrame("mario_14_"+i+".png"));
  7. }
  8. }
  9. },
  10. runSelf:function(){
  11. var animation = new cc.Animation(this.spriteFames);
  12. animation.setDelayPerUnit(1/30);
  13. animation.setRestoreOriginalFrame(true);
  14. animation.setLoops(-1);
  15. var animate = cc.Animate(animation);
  16. this.mario.runAction(animate);
  17. }

如上代碼,在addFrames函數中,將plist的動作圖片加入spriteFrames數組中,在runSelf函數中,定義動畫,最後讓馬裏奧執行動畫,如沒有什麽差錯,此時應該能看到一個拼命在跑動的馬裏奧,雖然只是在原地踏步。

cocos2d-js使用plist執行自身動作