[英]rotate a sprite around an anchor point
我有一個精靈:
ombreoeuf1 = [CCSprite spriteWithFile:@"mangeurcentremieu3_03.png" ];
ombreoeuf1.position = ccp(240,160);
[self addChild:ombreoeuf1];
我想繞着錨點不斷旋轉它。 我該怎么做?
您可以首先通過設置屬性anchorPoint
來設置anchorPoint
,例如:
[ombreoeuf1 setAnchorPoint:ccp(0,0)]
然后通過設置另一個屬性rotation
來設置旋轉(以度為單位):
[ombreoeuf1 setRotation:90]
anchorPoint
和rotation
都是CCNode類的屬性,后者是CCSprite的父級。
更新資料
根據您的評論,您似乎想要的是永不停止的旋轉精靈? 這是一個讓精靈每0.1秒旋轉10度的示例:
[sprite runAction:[CCRepeatForever actionWithAction:[CCRotateBy actionWithDuration:0.1 angle:10]]];
CCNode子類的所有轉換都相對於錨點進行。 在所有轉換期間,anchorPoint將具有相同的位置。 例如,如果將帶有anchorPoint(0.f,0.f)的sprite放置在屏幕的左下角(0.f,0.f)的位置,然后將其比例設置為5.f,轉換后它將保持在左下角,只是會變大。 因此,所有旋轉將相對於錨點自動完成。
還有一件事。 CCSprite默認具有anchorPoint(0.5f,0.5f)和一些內容大小,因此您只需將其設置為另一個即可查看轉換的變化。 如果要使用CCNode進行操作,則必須將其relativeToAnchorPoint屬性設置為YES並手動設置contentSize。
您可以為此使用CCRepeatForever操作。 例如,
id rotateAction = [CCRepeatForever actionWithAction:[CCRotateBy actionWithDuration: yourDuration
angle: anyAngleForGivenTime]];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.