使用cocos2d,如何使用动作实现脉冲动画。
我知道我需要CCScaleTo
,可能CCRepeat
,但我不知道如何将它们组合在一起。
答案 0 :(得分:2)
几乎马上就走了!这会使物体永远以2秒的周期发出脉冲并向上扩大10%。
[CCRepeatForever actionWithAction:
[CCSequence actions:
[CCScaleTo actionWithDuration:1.0f scale:1.1f],
[CCScaleTo actionWithDuration:1.0f scale:1.0f],
nil]]];
答案 1 :(得分:2)
除了詹姆斯在上面的答案上的位置之外,为了完整起见,你需要在CCNode对象上调用 [runAction ...] 方法并将其传递给它 - 这是,詹姆斯提供的代码是。
要停止脉动效果,可以在CCNode上调用[stopAllActions ...]。
最佳,
答案 2 :(得分:1)
或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]]];
}