如何使用Cocos3D运行反向动画?

时间:2014-06-15 03:46:58

标签: cocos3d

我使用下面的代码来运行动画,但是如何反转动画? (例如,门模型有一个打开的动画,但我想把它关闭)

CC3ResourceNode* rezNode = [CC3PODResourceNode nodeFromFile: @"bd1hW1368.POD"];
    [self addChild: rezNode];

    CCActionInterval *stride = [CC3Animate actionWithDuration:10.0];
    [rezNode runAction:[CCRepeatForever actionWithAction:stride]];

[UPDATE]

与比尔的答案相关,我创建了一个连续的门关闭/打开动画,如下所示:

    CC3ResourceNode* rezNode = [CC3PODResourceNode nodeFromFile: @"bd1hW1368.POD"];
    [self addChild: rezNode];

    CC3Animate *stride = [CC3Animate actionWithDuration:10.0];
    CC3Animate *reversedStride = [CC3Animate actionWithDuration:10.0];
    reversedStride.isReversed = YES;

    CCRepeatForever *repeat = [CCRepeatForever actionWithAction:[CCSequence actionWithArray:@[stride, reversedStride]]];
    [rezNode runAction:repeat];

1 个答案:

答案 0 :(得分:1)

与大多数CCActionInterval子类一样,CC3Animate支持reverse方法,该方法返回一个配置为向后运行的新CC3Animate实例。

您还可以重复使用相同的CC3Animate实例并将isReversed属性设置为YES,但使用reverse方法创建单独的实例可让您更轻松做一些事情,比如打开门打开动作然后关门关闭动作。