我使用下面的代码来运行动画,但是如何反转动画? (例如,门模型有一个打开的动画,但我想把它关闭)
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];
答案 0 :(得分:1)
与大多数CCActionInterval
子类一样,CC3Animate
支持reverse
方法,该方法返回一个配置为向后运行的新CC3Animate
实例。
您还可以重复使用相同的CC3Animate
实例并将isReversed
属性设置为YES
,但使用reverse
方法创建单独的实例可让您更轻松做一些事情,比如打开门打开动作然后关门关闭动作。