Objective-C:アフィン変換の起点を変更する

オブジェクトのスケールや位置を変更し、アニメーションさせたりする場合にお世話になるアフィン変換をメモ。

アフィン変換の起点を変更する

ObjectNameというオブジェクトの大きさを、アフィン変換メソッドCGAffineTransformを使って2倍にしたい場合は

ObjectName.transform = CGAffineTransformMakeScale(2,2);

とすればいいが、この場合、変形の起点はオブジェクトの中心からとなる。

左端を起点としたい場合は、UIKitフレームワークをインポートし、アンカーポイントを定義することで、そのアンカーポイントを起点とした変形が実行される。

//.hファイル
#import <UIKit/UIKit.h>

//.mファイル
ObjectName.layer.anchorPoint= CGPointMake(0,0.5);
ObjectName.transform = CGAffineTransformMakeScale(2,2);

この場合は、左端から2倍に拡大される。

siro:chro 無料ゲーム SQN をリリースしました

img_sqn_00

sirochro 初の無料ゲームアプリ SQN をリリースしました。
記事:SQN: iOS 無料ゲームアプリ SQN - Sequential Numbers をリリース
ちょっとした時間に楽しめる完全無料のゲームなっていますので、是非ダウンロードして遊んでみてください。

↓SQN のダウンロードはこちらから

Related Contents

Pickup Contents