【问题标题】:How to implement stretch animation in cocos2D?cocos2D中如何实现拉伸动画?
【发布时间】:2012-09-17 06:13:44
【问题描述】:
我想给一个精灵一个拉伸动画。
这是我试过的代码
id scaleUpAction = [CCEaseInOut actionWithAction:[CCScaleTo actionWithDuration:4.0 scaleX:1.0 scaleY:10.0] rate:2.0];
但我想保持顶部位置,然后像波浪效果一样从上到下设置动画。
任何人都可以建议我这样做的方法吗?
提前致谢
【问题讨论】:
标签:
iphone
cocos2d-iphone
【解决方案1】:
不明白你在“波浪”下是什么意思,但是关于你问题的第一条路径 - 为了保持最高位置,你应该改变你的精灵的锚点。所有转换都是相对于节点的(在您的情况下为精灵)锚点完成的。因此,如果您想修复精灵的左上角,只需将其 anchorPoint 属性设置为 (0.f, 1.f)。锚点 (1.f, 1.f) 将固定精灵的右上角。
【解决方案2】:
试试这个代码。
id scaleAction = [CCEaseInOut actionWithAction:[CCScaleTo actionWithDuration:5.0f scaleX:1.0 scaleY:1.0] rate:2.0];
id scaleUpAction = [CCEaseInOut actionWithAction:[CCScaleTo actionWithDuration:1.0f scaleX:4.8 scaleY:4.8] rate:2.0];
id scaleUpAction1 = [CCEaseInOut actionWithAction:[CCScaleTo actionWithDuration:12 scaleX:4.8 scaleY:4.8] rate:2.0];
CCSequence *scaleSeq = [CCSequence actions:scaleAction,scaleUpAction,scaleUpAction1, nil];
[scaleright runAction:[CCRepeatForever actionWithAction:scaleSeq]];