Flash CS3 ドキュメンテーション |
|||
| ActionScript 3.0 のプログラミング > ジオメトリの操作 > Point オブジェクトの使用 | |||
Point オブジェクトは、座標の直交ペアを定義します。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(circle1.x, circle1.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 |
|
表示オブジェクトコンテナ内のポイントに存在するオブジェクトのリストを返すために使用します。 |
|
BitmapData |
|
BitmapData オブジェクト内のピクセルと、衝突のチェックに使用するポイントを定義するために使用します。 |
|
BitmapData |
|
操作の対象とする長方形の位置を定義するために使用します。 |
|
Matrix |
|
変換を適用するポイントを定義するために使用します。 |
|
Rectangle |
|
これらのプロパティを定義するために使用します。 |
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000186.html