回転・拡大の基準点を変える
エンティティは anchorX, anchorY プロパティで拡大・回転の基準位置を変更することができます。
凡例
javascript
var sprite = new g.Sprite({
..., // その他のプロパティ
anchorX: 1.0, // 1.0 でエンティティの右端
anchorY: 1.0 // 1.0 でエンティティの下端
});javascript
sprite.anchorX = 0.0; // 0.0 でエンティティの左端
sprite.anchorY = 0.0; // 0.0 でエンティティの上端
sprite.modified(); // modified() で表示に反映拡大・回転は、デフォルトではエンティティの左上端を基準に行われます。
利用例
次のコンテンツは、画像の右下端を基準に配置されます。
詳細
エンティティにアンカーポイントを指定することで、エンティティの回転・拡大の基準位置を設定できます。アンカーポイントは anchorX, anchorY プロパティで与えることができます。
anchorX, anchorY は 0.0 がエンティティの左端・上端を、 1.0 がエンティティの右端・下端を表し、 初期値は 0.0 となります。
下記のコードでは、生成した Sprite は 中心を基準に 45 度回転した状態で描画されます。
javascript
var sprite = new g.Sprite({
scene: scene, // シーン scene があるものとします
src: scene.asset.getImage("/image/player.png"), // "/image/player.png" が画像のパスだとします
x: 100,
y: 100,
angle: 45,
anchorX: 0.5,
anchorY: 0.5
});
scene.append(sprite);生成後のエンティティのアンカーポイントは、 anchorX, anchorY プロパティで参照できます。
javascript
sprite.anchorX; // ==> 0.5
sprite.anchorY; // ==> 0.5anchorX, anchorY プロパティに代入することで、アンカーポイントを変更できます。表示への反映には modified() メソッドを呼び出す必要があります。
javascript
sprite.anchorY = 0.0; // 上端 を基準位置にする
sprite.modified(); // modified() で表示に反映
