我是cocos2dx的新手,我在Windows上使用cocos2dx 3.9获得了一个C ++项目,我在这个页面引用了文件动画示例http://www.cocos2d-x.org/wiki/Sprite_Sheet_Animation;我无法让plist加载动画。
当我尝试加载plist时:
auto cache = AnimationCache::getInstance(); cache->addAnimationsWithFile( "explosion.plist" );
日志显示:
cocos2d: AnimationCache: No animations were found in provided dictionary.
我错过了什么?
此外,我不确定在示例中使用什么代替Node
。它只是第一个动画帧键吗?
答案 0 :(得分:2)
您使用的上述spritesheet没有扩展名 所有文件中的.png。您可以从纹理创建新的spritesheet 封隔器。
要获取样本spritesheet,请先转到 `〜你,茯苓目录/ cocos2d的-X-3.9 /测试/ CPP-测试/资源/ zwoptex / 并复制grossini.plist& grossini.png到您的Resources文件夹。 Sample plist Link
现在从spritesheet运行帧动画,然后首先使用以下命令添加帧:
SELECT *
FROM `financial_trxn` ft
LEFT JOIN entity_financial_trxn eft
ON eft.financial_trxn_id = ft.id
where eft.entity_table = 'contribution' OR eft.entity_table = 'financial_item'
现在在动画缓存中添加帧:
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);
}
希望它有所帮助。