2011-03-12 24 views
4
//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 ...... 請告知之間的區別...CCRotateTo和CCRotateBy differnce

回答

14

CCRotateTo旋轉對象到指定角度,而CCRotateBy將對象旋轉到當前角度+指定角度。如果您的物體的初始旋轉角度爲0,那麼它們將是等效的。但是,如果它的初始角度爲90°,則CCRotateTo會將其旋轉至角度45,而CCRotateBy會將其旋轉至角度135°。

+0

CCRotateBy也非常方便,當談到不斷旋轉的精靈。看到我提供示例代碼的其他答案。 – Zuppa

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行動...

相關問題