Point オブジェクトは、1 ペアの座標値で表される直行座標上のポイントを定義します。2 次元の座標系において、水平軸を表す x と垂直軸を表す y により 1 つのポイントを表現します。
Point オブジェクトを定義する際は、次のように x プロパティと y プロパティを設定します。
import flash.geom.*; var pt1:Point = new Point(10, 20); // x == 10; y == 20 var pt2:Point = new Point(); pt2.x = 10; pt2.y = 20;
Point クラスの distance() メソッドを使用すると、同じ座標空間内にある 2 つのポイント間について距離を調べることができます。例えば、次のコードでは、同じ表示オブジェクトコンテナ内にある 2 つの表示オブジェクト circle1 および circle2 が持つ基準点間の距離を取得します。
import flash.geom.*; var pt1:Point = new Point(circle1.x, circle1.y); var pt2:Point = new Point(circle2.x, circle2.y); var distance:Number = Point.distance(pt1, pt2);
2 つの表示オブジェクトがそれぞれ異なる表示オブジェクトコンテナ内にある場合は、それぞれの属する座標区間が異なっている可能性があります。DisplayObject クラスの localToGlobal() メソッドを使用すると、それらの座標を共通のグローバルな座標空間(ステージ座標)に変換できます。例えば、次のコードでは、別々の表示オブジェクトコンテナ内にある 2 つの表示オブジェクト circle1 および circle2 が持つ基準点間の距離を測定します。
import flash.geom.*; var pt1:Point = new Point(circle1.x, circle1.y); pt1 = circle1.localToGlobal(pt1); var pt2:Point = new Point(circle2.x, circle2.y); pt2 = circle2.localToGlobal(pt2); var distance:Number = Point.distance(pt1, pt2);
同様に、target という表示オブジェクトの基準点とステージ上にある特定のポイントとの距離を調べる場合は、DisplayObject クラスの localToGlobal() メソッドを次のように使用します。
import flash.geom.*; var stageCenter:Point = new Point(); stageCenter.x = this.stage.stageWidth / 2; stageCenter.y = this.stage.stageHeight / 2; var targetCenter:Point = new Point(target.x, target.y); targetCenter = target.localToGlobal(targetCenter); var distance:Number = Point.distance(stageCenter, targetCenter);
移動距離と角度を指定してオブジェクトを移動するには、Point クラスの polar() メソッドを使用します。例えば、次のコードでは、myDisplayObject オブジェクトを 60 度の方向に 100 ピクセル分だけ移動します。
import flash.geom.*; var distance:Number = 100; var angle:Number = 2 * Math.PI * (90 / 360); var translatePoint:Point = Point.polar(distance, angle); myDisplayObject.x += translatePoint.x; myDisplayObject.y += translatePoint.y;
Point オブジェクトは次のメソッドおよびプロパティで使用できます。
|
クラス |
メソッドまたはプロパティ |
説明 |
|---|---|---|
|
DisplayObjectContainer |
areInaccessibleObjectsUnderPoint() getObjectsUnderPoint() |
表示オブジェクトコンテナ内のポイントに存在するオブジェクトのリストを返すために使用します。 |
|
BitmapData |
hitTest() |
BitmapData オブジェクト内のピクセルと、衝突のチェックに使用するポイントを定義するために使用します。 |
|
BitmapData |
applyFilter() copyChannel() merge() paletteMap() pixelDissolve() threshold() |
操作の対象とする長方形の位置を定義するために使用します。 |
|
Matrix |
deltaTransformPoint() transformPoint() |
変換を適用するポイントを定義するために使用します。 |
|
Rectangle |
bottomRight size topLeft |
これらのプロパティを定義するために使用します。 |
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート