Cocos2d iphone 在使用ccbanimationmanager运行动画后运行另一个动画
我正在使用cocosbuilder 2.1运行cocos2d,我使用cocosbuilder动画委托(Cocos2d iphone 在使用ccbanimationmanager运行动画后运行另一个动画,cocos2d-iphone,cocosbuilder,Cocos2d Iphone,Cocosbuilder,我正在使用cocosbuilder 2.1运行cocos2d,我使用cocosbuilder动画委托(CCBAnimationManagerDelegate::completedAnimationSequenceNamed)在动画完成时获得通知,并采取类似于触发另一个cocosbuilder动画的操作 第一次从代理运行foodfactoryshow动画时,它运行正常,动画完成后,它还正确运行恢复动画。但是,当恢复动画完成时,-(void)completedAnimationSequenceNam
CCBAnimationManagerDelegate::completedAnimationSequenceNamed
)在动画完成时获得通知,并采取类似于触发另一个cocosbuilder动画的操作
第一次从代理运行foodfactoryshow
动画时,它运行正常,动画完成后,它还正确运行恢复
动画。但是,当恢复
动画完成时,-(void)completedAnimationSequenceNamed
方法的参数名称
为空
-(void) completedAnimationSequenceNamed:(NSString*)name
{
if ([name isEqualToString:@"foodfactoryshow"])
{
[manager runAnimationsForSequenceNamed:@"restoration"];
}
if ([name isEqualToString:@"restoration"])
{
[self colorLayerChanged];
self.gameLayer.isLock = true;
}
}
这是一个bug还是我不应该从ccbanmationmanagerdelegate::completedAnimationSequenceNamed
方法运行动画
提前感谢您的帮助。我相信这是一个CCBReader错误。CocosBuilder github页面()中有一个关于它的开放问题。它应该在最新版本的CocosBuilder+CCBReader中修复,但是,如果您想使用2.1版本,可以将CCBanmationManager的“sequenceCompleted”方法更改为以下内容:
- (void) sequenceCompleted
{
NSString *completedSequenceName = [runningSequence.name copy];
int nextSeqId = runningSequence.chainedSequenceId;
runningSequence = NULL;
if (nextSeqId != -1)
{
[self runAnimationsForSequenceId:nextSeqId tweenDuration:0];
}
[delegate completedAnimationSequenceNamed:completedSequenceName];
[completedSequenceName release];
}
谢谢这真的帮了我很大的忙!