Ios Cocos2d V3和Spritebuilder-时间轴动画未在后续时间运行
我有一个CCB文件,里面有一个时间轴动画。我像这样加载文件Ios Cocos2d V3和Spritebuilder-时间轴动画未在后续时间运行,ios,objective-c,cocos2d-iphone,spritebuilder,Ios,Objective C,Cocos2d Iphone,Spritebuilder,我有一个CCB文件,里面有一个时间轴动画。我像这样加载文件 CCSprite *spriteAnimation = (CCSprite*)[CCBReader load:@"MyGreatAnimation"]; spriteAnimation.paused = TRUE; 稍后,我将其添加到场景并运行动画 [MyScene addChild:spriteAnimation]; CCAnimationManager* animationManager = _deletionAnimaion.u
CCSprite *spriteAnimation = (CCSprite*)[CCBReader load:@"MyGreatAnimation"];
spriteAnimation.paused = TRUE;
稍后,我将其添加到场景并运行动画
[MyScene addChild:spriteAnimation];
CCAnimationManager* animationManager = _deletionAnimaion.userObject;
[animationManager runAnimationsForSequenceNamed:@"Default Timeline"];
这太棒了。我的动画运行。然后我从场景中删除spriteAnimation
,直到我再次需要它
[spriteAnimation removeFromParent];
问题
我不知道如何在下次将动画添加到场景时让其运行
我试过:
[animationManager jumpToSequenceNamed:@"Default Timeline" time:0];
而且
[animationManager runAnimationsForSequenceNamed:@"Default Timeline"];
但动画似乎没有运行。如果此时我呼吁:
spriteAnimation.userObject.runningSequenceName
要查看运行序列,它将返回NULL
我的问题
如何任意重复运行时间线动画
说清楚,我不是在问循环动画。我想在需要时从第1帧开始播放。如果您反复需要,不应将其从场景中删除:
[spriteAnimation removeFromParent];
相反,只需暂时使动画不可见:
spriteAnimation.visible = NO;
稍后,让它再次可见
毕竟,当您删除一个节点时,它将从场景层次中消失,除非您将child:it添加回上面代码中我看不到的位置。抱歉,遗漏了上面的addChild:form my示例代码。我用的是addChilde:但没用。我还尝试设置visible=no,但这也不起作用。最终起作用的是将不透明度设置为0,并设置屏幕的位置(这样它就不会包含在绘图中)。然后,当我再次需要它时,我只是将它移动到位置并将“不透明度”设置为1。我想知道从我的父对象中删除它是否会清除动画?是否保留保留属性中的spriteAnimation?