CCRotateTo和旋转差异

时间:2011-03-12 04:22:06

标签: iphone cocos2d-iphone

//CCRotateBy
id action=[CCRotateBy actionWithDuration:1.0 angle:45];
[player runAction:action];

//CCRotateTo
id action=[CCRotateTo actionWithDuration:1.0 angle:45];
[player runAction:action];

以上两个代码产生相同的结果......我需要知道使用rotateTo和rotateBy之间的区别... 请指教......

2 个答案:

答案 0 :(得分:14)

CCRotateTo将对象旋转到指定的角度,而CCRotateBy将对象旋转到当前角度+指定的角度。如果对象的初始旋转为0,它们将是等效的。但是,如果它的初始角度为90°,CCRotateTo会将其旋转到角度45,而CCRotateBy会将其旋转到角度135.

答案 1 :(得分:2)

CCRotateBy在旋转精灵方面也非常方便:

CCSprite *halo = [CCSprite spriteWithFile:@"halo.png"];
[halo setOpacity:160];
CCRotateTo * rotRight = [CCRotateBy actionWithDuration:0.5 angle:40.0];
[halo runAction:[CCRepeatForever actionWithAction:rotRight]];

使用CCRotateBy动作,你永远不需要考虑任何角度......