リファレンス URL:collision_point( x, y, obj, prec, notme );
「実数型 ( Instance ID or noone ) 」として戻り値。 指定したx
y
座標でオブジェクト・インスタンスとの衝突が検出された時、オブジェクト・インスタンスの ID を返す関数。衝突が検出されなかった場合は無かったことを示す noone というキーワードが返される。引数 prec について
prec という引数は precise (正確な) collisions の略。 この衝突判定用のオプションは関数側で設定するだけでは意味が無く、対象となっているオブジェクトの外観として指定されている「スプライト」の衝突検出用マスク設定にある「 precise collision checking 」が有効になっている場合に、スプライトの透過部分は衝突を検出しないようにするというオプション。 true で precise な衝突判定、false の場合は bounding box が当たり判定となる。 precise で無い方が処理は軽くなり、スプライトの側で precise がオフになっている場合は関数側で precise を true にしても意味がない。
引数 notme について
衝突を検出する際に、関数を呼び出したオブジェクト・インスタンス自身との衝突を検出させない場合は true を設定する。呼び出し元のオブジェクト・インスタンス自身を衝突判定に含める場合は false を指定する。 使い方次第だが、通常は true ( 自分自身は含めない = notme )で良い。 スクリプト・サンプル/* 複数のオブジェクト・インスタンスがあり、それらに連番(spread)を 事前に割り当てしてある マウス位置 xy とボタンクリックをトリガーとし、 連番の番号に応じた異なる関数を呼び出すというサンプル */ var a = collision_point(mouse_x,mouse_y,object,false,true); if a != noone { if mouse_check_button_pressed(mb_any) { switch (a.spread) { case 3: C_Func(); break; case 2: B_Func(); break; case 1: A_Func(); break; }; }; };
Functions/collision_point