Cocos2d iphone 在使用ccbanimationmanager运行动画后运行另一个动画

Cocos2d iphone 在使用ccbanimationmanager运行动画后运行另一个动画,cocos2d-iphone,cocosbuilder,Cocos2d Iphone,Cocosbuilder,我正在使用cocosbuilder 2.1运行cocos2d,我使用cocosbuilder动画委托(CCBAnimationManagerDelegate::completedAnimationSequenceNamed)在动画完成时获得通知,并采取类似于触发另一个cocosbuilder动画的操作 第一次从代理运行foodfactoryshow动画时,它运行正常,动画完成后,它还正确运行恢复动画。但是,当恢复动画完成时,-(void)completedAnimationSequenceNam

我正在使用cocosbuilder 2.1运行cocos2d,我使用cocosbuilder动画委托(
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];
}

谢谢这真的帮了我很大的忙!