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)ですね。
中心軸を変更すると、それにともなって描画位置も変更されるので、座標の調整が必要です。