iPhone上的脉冲动画

时间:2011-10-29 12:11:28

标签: ios animation cocos2d-iphone

使用cocos2d,如何使用动作实现脉冲动画。

我知道我需要CCScaleTo,可能CCRepeat,但我不知道如何将它们组合在一起。

3 个答案:

答案 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]]];
}