スプライトを、回転軸を指定して回転させる cocs2d

Cocos2d。先日の「Nodeを回転させる」の発展版。

デフォルトだとスプライトは中心に回転軸があるのですが、
これをずらしたい時の方法。

[objc]
// -45度まで回転させるCCRotateをつくる
CCRotate *rotateToMinus45 = [CCRotateTo actionWithDuration:0.2 angle:-45];

// スプライトの回転軸(中心点)を変更。ccp(0,0)だと左下、ccp(1,1)だと右上
hogeSprite.anchorPoint = ccp(0, 0);

// スプライトを回転させる
[hogeSprite runAction:rotateToMinus45];
[/objc]

中心軸(anchorPoint)を変更すると、回転軸も変わります。
中心軸は0~1で指定します。デフォルトは中心なのでccp(0.5,0.5)ですね。
中心軸を変更すると、それにともなって描画位置も変更されるので、座標の調整が必要です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です