我正在使用CCScaleTo方法在cocos2d中缩放我的sprite对象。它不是完美的缩放,所以我使用这段代码:
id action1=[CCScaleTo actionWithDuration:0.5 scale:1.25];
id action2=[CCScaleBy actionWithDuration:0.5 scale:.25];
id action3=[CCScaleTo actionWithDuration:0.5 scale:1.25];
id action4=[CCScaleTo actionWithDuration:0.5 scale:.25];
[timeUpImg runAction:[CCSequence actions:action1,action2,action3,action4,nil]];
这很完美。
我不知道ccScaleBy
和CCScaleTo
之间的区别以及如何使用“反向”方法。有人可以解释一下吗?
答案 0 :(得分:18)
CCScaleTo
将节点/精灵缩放为绝对比例因子,而CCScaleBy
将其缩放相对于当前比例的因子。
例如,假设某个节点当前具有比例0.25
:
[CCScaleTo actionWithDuration:0.5 scale:2.0]
会将比例修改为2.0
(只是忽略当前比例)
[CCScaleBy actionWithDuration:0.5 scale:2.0]
会将比例修改为0.5
(0.25 * 2.0)
关于第二个问题,reverse
方法返回CCAction
子类的实例,该实例给出了原始操作的相反效果。例如:[[CCScaleBy actionWithDuration:0.5 scale:2.0] reverse]
将返回[CCScaleBy actionWithDuration:0.5 scale:0.5]
,[[CCScaleBy actionWithDuration:0.5 scale:4.0] reverse]
将返回[CCScaleBy actionWithDuration:0.5 scale:0.25]