簡體   English   中英

圍繞錨點旋轉精靈

[英]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]

anchorPointrotation都是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM