Rex*_*ids 7 iphone xcode opengl-es cocos2d-iphone
我希望每秒钟上下调整一次精灵比例,使它看起来像是鼓胀和脉动.我怎样才能做到这一点?
小智 14
由于之前的帖子包含语法错误.更准确地说,我发布了工作代码:
CCSprite * sprite = ...; // create the sprite.
id scaleUpAction = [CCEaseInOut actionWithAction:[CCScaleTo actionWithDuration:1 scaleX:1.0 scaleY:1.0] rate:2.0];
id scaleDownAction = [CCEaseInOut actionWithAction:[CCScaleTo actionWithDuration:0.5 scaleX:0.8 scaleY:0.8] rate:2.0];
CCSequence *scaleSeq = [CCSequence actions:scaleUpAction, scaleDownAction, nil];
[sprite runAction:[CCRepeatForever actionWithAction:scaleSeq]];
Run Code Online (Sandbox Code Playgroud)
您可以使用简单的 [CCScaleTo ..] 操作,或者如果您想创建自己的“效果”,您可以提前 CCFiniteTimeAction。我更喜欢第一个:
CCSprite * sprite = ...; // create the sprite.
sprite.anchorPoint = ccp( 0.5, 0.5 ); center the pivot
id myAction = [CCRepeatForEver actionWithActions:[CCScaleTo actionWithDuration:0.5 scaleX:2.0 ScaleY:2.0],[CCScaleTo actionWithDuration:0.5 scaleX:0.5 ScaleY:0.5], nil];
[sprite runAction:myAction];
Run Code Online (Sandbox Code Playgroud)
使用CCEase使动画非线性
id myAction = [CCRepeatForEver actionWithActions:[CCEaseInOut actionWithAction:[CCScaleTo actionWithDuration:0.5 scaleX:2.0 ScaleY:2.0] rate:2.0],[CCEaseInOut actionWithAction:[CCScaleTo actionWithDuration:0.5 scaleX:0.5 ScaleY:0.5] rate:2.0], nil];
Run Code Online (Sandbox Code Playgroud)
这篇文章可能包含错误。但我希望你了解实现目标的方法。