Adobe Flex 3 ヘルプ

Point オブジェクトの使用

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;

サブトピック



2 ポイント間の距離の取得

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 クラスの他の使用方法

Point オブジェクトは次のメソッドおよびプロパティで使用できます。

クラス

メソッドまたはプロパティ

説明

DisplayObjectContainer

areInaccessibleObjectsUnderPoint() getObjectsUnderPoint()

表示オブジェクトコンテナ内のポイントに存在するオブジェクトのリストを返すために使用します。

BitmapData

hitTest()

BitmapData オブジェクト内のピクセルと、衝突のチェックに使用するポイントを定義するために使用します。

BitmapData

applyFilter()

copyChannel()

merge()

paletteMap()

pixelDissolve()

threshold()

操作の対象とする長方形の位置を定義するために使用します。

Matrix

deltaTransformPoint()

transformPoint()

変換を適用するポイントを定義するために使用します。

Rectangle

bottomRight

size

topLeft

これらのプロパティを定義するために使用します。

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート