【发布时间】:2011-10-29 12:11:28
【问题描述】:
使用cocos2d,如何使用动作实现脉冲动画。
我知道我需要CCScaleTo 可能还有CCRepeat,但我不知道如何将它们组合在一起。
【问题讨论】:
标签: ios animation cocos2d-iphone
使用cocos2d,如何使用动作实现脉冲动画。
我知道我需要CCScaleTo 可能还有CCRepeat,但我不知道如何将它们组合在一起。
【问题讨论】:
标签: ios animation cocos2d-iphone
为了完整起见,除了 James 在上述答案中的位置外,您还需要在您的 CCNode 对象上调用方法 [runAction ...] 并将操作传递给它 - 也就是说,James提供的代码原样。
要停止脉动效果,您可以在 CCNode 上调用 [stopAllActions ...]。
最好的,
【讨论】:
几乎马上就明白了!这会以 2 秒的周期永久地脉冲一个对象,并按比例放大 10%。
[CCRepeatForever actionWithAction:
[CCSequence actions:
[CCScaleTo actionWithDuration:1.0f scale:1.1f],
[CCScaleTo actionWithDuration:1.0f scale:1.0f],
nil]]];
【讨论】:
或 CCFadeTo 取决于您希望动画的外观...
- (void) pulseStop {
[mySprite stopAllActions];
}
- (void) pulseStart {
[mySprite setOpacity:1.0];
CCFadeTo *fadeToIn = [CCFadeTo actionWithDuration:1.0 opacity:50];
CCFadeTo *fadeToOut = [CCFadeTo actionWithDuration:1.0 opacity:255];
[mySprite runAction:[CCRepeatForever actionWithAction:[CCSequence actionOne:fadeToIn two:fadeToOut]]];
}
【讨论】: