在 cocos2d-x 早期版本中,實現一個簡單的精靈動畫往往需要編寫十幾行甚至數十行代碼。開發者必須手動創建紋理、精靈幀、動畫幀陣列、動畫對象,最後才能生成 Animate 動作。這不僅代碼冗長,而且極易出錯,特別是當動畫幀數較多、延遲時間不同時,維護成本極高。
為了解決這一問題,作者開發了 AnimatePacker —— 一款專門用於打包動畫動作的輔助工具。它採用 Qt 編寫,具備跨平台潛力(目前提供 Windows 版本),能夠與 TexturePacker 等圖集打包工具無縫配合,通過可視化介面讓開發者輕鬆編輯動畫序列、調整幀順序、設置延遲時間,最終導出 XML 配置文件,在遊戲代碼中只需兩行調用即可完成動畫加載與播放。

1111.xml)。項目中只需引入三個文件:AnimatePacker.h、AnimatePacker.cpp、Singleton.h。解析器僅暴露兩個核心接口:
void AnimatePacker::loadAnimate(char *path); // 加載 XML 動畫配置
cocos2d::CCAnimate* AnimatePacker::getAnimate(char *name); // 獲取指定名稱的動畫動作
實際調用示例:
AnimatePacker::getInstance()->loadAnimate("1111.xml");
CCSprite *sprite = CCSprite::spriteWithSpriteFrameName("bomb_dead0.png");
sprite->setAnchorPoint(CCPointZero);
sprite->setPosition(ccp(size.width/2, size.height/2));
sprite->runAction(CCRepeatForever::actionWithAction(
AnimatePacker::getInstance()->getAnimate("aaa")
));
addChild(sprite, 1);
目前為測試版,僅提供 Win32 可執行文件。作者計劃在配置好 Mac 下的 Qt 環境後釋出 macOS 版本。歡迎開發者回報 Bug 與改進建議,共同完善這款提效工具。