cocos2d-js使用plist執行自身動作
阿新 • • 發佈:2017-09-24
方式 預加載 cocos func delay restore this string copy
首先需要將精靈動作幀動畫圖片使用TexturePacker創建plist,創建好後,將生成的plist和png圖片(所有幀動畫圖片集成的一張大圖);
百牛信息技術bainiu.ltd整理發布於博客園
1、進行預加載操作
[javascript] view plain copy
- cc.spriteFrameCache.addSpriteFrames(res.Mario_plist);
預加載後,可在工程中加載使用plist中的任何一個動作圖片,使用方式:
[javascript] view plain copy
- cc.spriteFrameCache.getSpriteFrame("mario_14_01.png");
2、精靈需要自身動作,如跑動或者擊打等動作,執行代碼如下:
- addFrames:function(){
- for(var i=1;i<21;i++){
- if(i<10){
- this.spriteFames.push(cc.spriteFrameCache.getSpriteFrame("mario_14_0"+i+".png"));
- }else{
- this.spriteFames.push(cc.spriteFrameCache.getSpriteFrame("mario_14_"+i+".png"));
- }
- }
- },
- runSelf:function(){
- var animation = new cc.Animation(this.spriteFames);
- animation.setDelayPerUnit(1/30);
- animation.setRestoreOriginalFrame(true);
- animation.setLoops(-1);
- var animate = cc.Animate(animation);
- this.mario.runAction(animate);
- }
如上代碼,在addFrames函數中,將plist的動作圖片加入spriteFrames數組中,在runSelf函數中,定義動畫,最後讓馬裏奧執行動畫,如沒有什麽差錯,此時應該能看到一個拼命在跑動的馬裏奧,雖然只是在原地踏步。
cocos2d-js使用plist執行自身動作