2016-01-22 75 views
1

我是cocos2dx的新手,我在Windows上使用cocos2dx 3.9獲得C++項目,我參考文件動畫http://www.cocos2d-x.org/wiki/Sprite_Sheet_Animation;我無法讓plist加載動畫。無法在cocos2d中加載plist動畫「沒有找到動畫」

當我嘗試加載的plist:

auto cache = AnimationCache::getInstance(); 
cache->addAnimationsWithFile("explosion.plist");

日誌顯示:

cocos2d: AnimationCache: No animations were found in provided dictionary.

我缺少什麼?

此外,我不確定該示例中使用"dance_1"的位置。它只是第一個動畫幀的關鍵?

http://pastebin.com/kZpcCEgp

回答

2

您使用的是不具備在所有文件的擴展名 巴紐以上spritesheet。您可以從紋理 打包器創建新的spritesheet。

爲了得到一個樣本spritesheet,先轉到 `〜你,茯苓目錄/ cocos2d的-X-3.9 /測試/ CPP-測試/資源/ zwoptex/ 和複製grossini.plist & grossini.png到您的資源文件夾。 Sample plist Link

我們從spritesheet運行幀動畫,則首先使用下面的命令添加幀:

SpriteFrameCache::getInstance()->addSpriteFramesWithFile("grossini.plist"); 

現在添加幀中動畫的高速緩存:

Vector<SpriteFrame*> animFrames(15); 
char str[100] = {0}; 
for(int i = 1; i < 15; i++) 
{ 
    sprintf(str, "grossini_dance_%02d.png",i); 
    auto frame = SpriteFrame::create(str,Rect(0,0,40,40)); //we assume that the sprites' dimentions are 40*40 rectangles. 
    animFrames.pushBack(frame); 
} 

現在運行動畫

auto animation = Animation::createWithSpriteFrames(animFrames, 0.2f); 
auto animate = Animate::create(animation); 
sprite->runAction(animate); 

希望它有幫助。