2015-06-07 115 views
0

我在使用cocos2dx中的脊椎动画时遇到问题。下面是代码闪烁,同时更改脊椎动画cocos2dx

skeletonNode = new CCSkeletonAnimation("Snake.json", "Snake.atlas"); 
    skeletonNode->setAnimation("Walk", true); 
    skeletonNode->setScale(1.0); 
    skeletonNode->setSlotsToSetupPose(); 
    CCSize windowSize = CCDirector::sharedDirector()->getWinSize(); 
    skeletonNode->setPosition(ccp(windowSize.width/2, windowSize.height/2)); 
    addChild(skeletonNode); 
    skeletonNode->release(); 

现在当我改变使用添加动画的方法,则用于第二,它闪烁,同时改变动画。在添加新动画之前,我也尝试了清晰的动画,但同样的问题。

我这是怎么改变的动画

skeletonNode->setSlotsToSetupPose(); 
skeletonNode->addAnimation("Sleep", true);  

我不明白为什么它闪烁。请帮帮我。

回答

0

当您将新动画添加到当前帧时,它无法同步。与最后一帧。
所以你应该混合动画,而不是添加一个新的动画,即

skeletonAnimation->setMix("animation_1", "animation_2", duration);