hitTest (MovieClip.hitTest メソッド)

public hitTest() : Boolean

ムービークリップを評価して、それが target、または x 座標と y 座標のパラメータで示されるヒット領域と重なっている (または交差している) かどうかを確認します。

シンタックス 1: shapeFlag の設定に従って、x 座標と y 座標を、指定されたインスタンスのシェイプまたは境界ボックスと比較します。shapeFlagtrue に設定すると、ステージ上でインスタンスが実際に占有する領域のみが評価されます。x と y が任意の点で重なる場合は、true が返されます。この評価は、ムービークリップが、指定されたヒット領域またはホットスポット領域内にあるかどうかを判別する場合に有効です。このシンタックスの場合、メソッドのシグネチャは次のようになります。

public hitTest(x:Number, y:Number, [shapeFlag:Boolean]):Boolean

シンタックス 2: target の境界ボックスと指定されたインスタンスの境界ボックスを評価し、両者が任意の点で重なるか交差する場合に true を返します。このシンタックスの場合、メソッドのシグネチャは次のようになります。

public hitTest(target:Object):Boolean

パラメータ : x: Number はステージ上のヒット領域の x 座標、y: Number は、ステージ上のヒット領域の y 座標です。x 座標と y 座標は、グローバル座標空間で定義されます。また、shapeFlag: Boolean は、指定したインスタンスのシェイプ全体を評価するか (true)、境界ボックスだけを評価するか (false) を指定するブール値です。このパラメータは、x 座標と y 座標のパラメータでヒット領域を指定する場合にのみ指定できます。target: Object は、ムービークリップと交差するか重なるヒット領域のターゲットパスです。target パラメータは通常、ボタンまたはテキスト入力フィールドを表します。

対応バージョン : ActionScript 1.0、Flash Player 5

戻り値

Boolean - ブール値。指定したヒット領域にムービークリップが重なっている (交差している) 場合は true 、それ以外の場合は false を返します。

次の例では、hitTest() を使用して、ユーザーがマウスボタンを離したときにムービークリップ circle_mc がムービークリップ square_mc と重なっている (交差している) かどうかを判別します。

square_mc.onPress = function() {
    this.startDrag();
};
square_mc.onRelease = function() {
    this.stopDrag();
    if (this.hitTest(circle_mc)) {
    trace("you hit the circle");
    }
};

次の例では、hitTest() メソッドを使用して、ユーザーがマウスボタンを離したときにムービークリップ triangle_mc がポイント (100, 75) (三角形の初期位置の中心から約 50 ピクセル右のポイント) と重なっているかどうかを判別します。

createEmptyMovieClip("triangle_mc", getNextHighestDepth());
triangle_mc.beginFill(0x006090);
triangle_mc.moveTo(50, 50);
triangle_mc.lineTo(100, 150);
triangle_mc.lineTo(0, 150);
triangle_mc.lineTo(50, 50);

var hit_X = 100;
var hit_Y = 75;
var shapeFlag = true;

triangle_mc.onPress = function() {
    this.startDrag();
};

triangle_mc.onRelease = function() {
    this.stopDrag();
    if (this.hitTest(hit_X, hit_Y, shapeFlag)) {
        trace("Hit.");
    }
};

関連項目

getBounds (MovieClip.getBounds メソッド), globalToLocal (MovieClip.globalToLocal メソッド), localToGlobal (MovieClip.localToGlobal メソッド), hitTest (BitmapData.hitTest メソッド)


 

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

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00001930.html