二点間の距離を算出
ゲーム開発で、オブジェクト間の距離を知ることはとても役に立ちます。
そのための関数を紹介します。
ソースコード
/**
/* @brief : 二点間の距離計算
/*
/* @li :
/* @param : Number : p1_x : オブジェクト1のX座標
/* @param : Number : p1_y : オブジェクト1のY座標
/* @param : Number : p2_x : オブジェクト2のX座標
/* @param : Number : p2_y : オブジェクト2のY座標
/* @return : Number : 二点間の距離
/* @author : N.Nishimura
/* @note :
/* @date : 2009/07/23 作成
**/
function GetDistancePointToPoint(p1_x:Number, p1_y:Number, p2_x:Number, p2_y:Number) : Number
{
// X
var x:Number = Math.pow((p1_x - p2_x), 2);
// Y
var y:Number = Math.pow((p1_y - p2_y), 2);
// 距離計算
return Math.sqrt(x + y);
}
ピタゴラスの定理を利用した関数です。
実際に使用した例を以下に示します。
Flash上で一度クリックした後、キーボードの方向キーで操作してみて下さい。
真ん中に配置しているオブジェクトとの距離が右上に表示されます。
各オブジェクトの中心点から中心点までの距離で単位はpixelです。
サンプル※要FlashPlayer
次回は実用的な例を示したいと思います。