@H_301_0@游戏中播放spine动画是用SkeletonAnimation对象调用setAnimation方法,我遇到的问题是,在多种动画这样切换播放时,有的动画被切换后仍有残影存留,直到再一次播放该动画时残影才消失,但该动画播放完后,残影又会存留。 @H_301_0@
@H_301_0@经过多番搜索查找,终于找到解决方法了:只需在SkeletonAnimation对象每次调用setAnimation方法之前都调用下setToSetupPose()方法,即可完美解决这个问题。我的方法如下:
void GameHero::playAction(const char* actionName,bool loop) { m_animNode->setToSetupPose(); // m_animNode为SkeletonAnimation对象 m_animNode->setAnimation(0,actionName,loop); }@H_301_0@这样每次播放只需调用playAction方法即可,传入动画名,以及是否循环播放的参数。