SACT2 for System4.x

SP_IN_POINT

指定した座標がスプライトの画像上にあるか否か調べます。

int SP_IN_POINT(int nSP, int nX, int nY);

引数

nSP

スプライト番号

nX, nY

座標(x,y)

戻り値

true画像上にある
false画像上にない

解説

画像上にあるか否かは、その位置のαマップの値が、0より大きいか否かによって判定されます。

スプライトにαマップが存在しない場合は、スプライトを囲む矩形で判定されます。

テキスト面上のテキストは判定には影響しません。

カスタムスプライトは判定できません。

αマップの判定が不要な場合(矩形のみの判定でよい場合)は、 SP_IN_POINT_RECT を使用してください。

サンプルコード

int nMouseX, nMouseY;
int nActive = MOUSE_GET_POS(nMouseX, nMouseY);
if(nActive && SP_IN_POINT(nMouseX, nMouseY))
{
    //マウスカーソルがスプライトの画像上にある場合の処理
}

参照

MOUSE_GET_POS, SP_IN_POINT_RECT,