カレントインスタンスにパスを設定し、追従させる。定義したパスを指定する。動作スピードを指定する。負であればパスを逆走する。パスが終了したときの動作を指定する。開始位置に戻り、再び動作開始する。現在の位置から再び動作開始する。スピードの符号を逆にすることでパスを逆走する。パスの扱いを指定する。:パスを絶対座標として扱う。:パスを相対座標として扱う。カレントインスタンスのパス追従を終了させる。カレントインスタンスのパスindex。*この値は読み取り専用である。動作パス中の位置を表す。0は開始位置、1は終了位置を表す。動作パス中の直前の位置を表す。衝突イベント等にこの値を使用することが出来る。パスを進むスピード(スピード=ステップごとに進むピクセル数)。パス全体の補正角度を設定する(0?360)。0が通常で、反時計回りに設定できる。1で等倍、より大きければそれだけ拡大する。パスが終了した時の動作。数値と意味は上を参照。目標座標に直進し、障害物に当たると静止する。目標座標に到着するとtrueを返す。障害物を回り込んで回避しながら目標座標に向う。目標座標に到着するとtrueを返す。mp_potential_step関数で行う回避運動のパラメータを設定する。回避運動の有無(デフォルト値:true)補足この関数は、mp_potential_step関数の回避運動パラメータを設定します。mp_potential_step関数は次のように動作します。障害物が無い場合、目標に向って直進します。(ahead)で設定したステップ数分だけ障害物の有無を先読みします。障害物を発見した場合は、右か左のどちらか最善の方向へ回避する運動に切り替わります。(ahead)で回避運動を開始するタイミングを設定します。値を小さくすると障害物に近づいてから回避し始めます。(rotstep)で回避運動を実際に行うタイミングを設定します。この間隔を短くすれば小刻みに判定するので回避率が上がりますが、その分スピードは遅くなります。(maxrot)で一度に行う進行方向の最大変化量を設定します。これを大きくすると、各回避ステップで進行方向を大きく変化させることが出来るので障害物を回避しやすいですが、本来通るべきパスの精度が悪くなってしまいます。小さく設定すればパスをスムーズにトレースしますが、回避運動の精度が落ち、目標座標までたどり着けなくなるケースも出てくるかもしれません。(onspot)により、回避運動の有無を指定できます。trueで(maxrot)に応じた回避運動をします。falseなら回避せず静止します。このアプローチは付近の情報しか見ないので注意してください。付近の情報のみで回避できるのであれば良いですが、迷路のような障害物を通り抜けることは通常失敗します。以下の機能はレジスト制限されています。直線的にパスを設計する。失敗すると、途中でパスが終了する。障害物を回り込んで回避しながらパスを設計する(mp_potential_settingで設定できる)。失敗すると、途中でパスが終了する。†(概要)グリッドを使ったアプローチ(アルゴリズムともいわれます)を用いることでより複雑なメカニズムを作ることが出来ます。これにより、より短距離のパス設計が出来ますが、要求スペックも上がってしまうという欠点もあります。このメカニズムの概要は以下のようになります。ルーム内のパスで利用する範囲に、任意の大きさのグリッドを生成します。次に、それぞれのマス目内に指定したオブジェクトの有無をチェックし、あれば通れないマス目として記録していきます。一部でも通れない部分があるとそのマス目は通れないと判定します。最後に、始点と終点を設定し、グリッド情報から最短経路を導き出します。パスは移動させるオブジェクトが通れるように設定されます。この通れる隙間が十分であれば、パス設計が可能というわけです。することで、インスタンスを適切に導くことが出来るようになります。グリッドを使ったアプローチは、とても強力です。(プロが作ったゲームにも良く用いられています)しかし、どのくらいのマス目のサイズにするか、また、チェック機構を正確な当たり判定で行うかどうか、よく考えないといけません。これらの要素は、このアプローチでは強く影響します。マス目の大きさは重要です。マス目の中心座標と、動いているオブジェクトの基点座標を一致させた時に、完全にそのオブジェクトがマス目内部に収まるようにしなければならないことに注意してください。(オブジェクトの基点座標に注意してください。セルを小さくすると、導けるパスが多くなります。マス目を大きくしすぎると、通れないと判定されるマス目ばかりになり、パス設計ができなくなるかもしれません。指定した位置に任意の大きさのグリッドを生成する。グリッドのindexを返す。グリッド全体の左上座標。以下、引数(id)はグリッドのインデックスを示す。不要になったら呼び出すようにすること。グリッド内のすべてのマス目の壁判定をクリアする。グリッド内の指定したマス目(h,v)の壁判定をクリアする。左上のマス目は(0,0)。グリッド内の指定した矩形範囲内にあるマス目の壁判定をクリアする。範囲はルーム座標で指定する。グリッド内の指定したマス目(h,v)に壁判定をつける。左上のマス目は(0,0)。グリッド内の指定した矩形範囲内にあるマス目の壁判定をクリアする。範囲はルーム座標で指定する。グリッド内に指定したオブジェクトを含むすべてのマス目に壁判定をつける。オブジェクトindexまたは特定のインスタンスid。スプライトでpreciseにチェックされている場合のみ機能する。グリッドのパスを設計する。パスの設計に成功した時にtrueを返す。設計したパスを登録するパスindex。カレントインスタンスのパスに設定するわけではない。処理が遅いので、デバッグ用として使用すること。定点(x,y)に干渉するか調べる。(x1,y1)-(x2,y2)の矩形範囲に干渉するか調べる。中心を(xc,yc)、半径を(radious)とした円範囲に干渉するか調べる。(x1,y1)-(x2,y2)で作られる楕円の範囲に干渉するか調べる。2点(x1,y1)-(x2,y2)の線分に干渉するか調べる。インスタンスのオブジェクトindex。*この値は読み取り専用である。インスタンスの固有の識別番号。*この値は読み取り専用である。当たり判定を行うためのマスクのスプライトindex。当たり判定を表示するスプライトと同じにする場合は-1。ソリッド属性にするか設定する。処理が別のルームに移ったとき状態を保つかどうか設定する。ルーム内に存在するインスタンスの数。*この値は読み取り専用である。インスタンスidの配列。nは現在のルーム内のインスタンス数を表す。番号とidの割り当ては毎ステップ更新されるので注意。*この値は読み取り専用である。(obj)の種類のなかで(n+1)番目のインスタンスidを返す。instance_id[]と同様に番号とidの割り当ては毎ステップ更新される。(obj)のインスタンスが存在するかどうか返す。(obj)にはインスタンスid、予約語:"All"が使用できる。存在する(obj)のインスタンス数を返す。(obj)には予約語:"All"が使用できる。(x,y)に存在する(obj)のインスタンスidを返す。重なっていた場合、id番号の小さいものを返す。(obj)には予約語:"All"が使用できる。(x,y)に最も近い(obj)のインスタンスidを返す。(obj)には予約語:"All"が使用できる。(x,y)から最も遠い(obj)のインスタンスidを返す。(obj)には予約語:"All"が使用できる。(x,y)にカレントインスタンスを配置したときに、重なった(obj)のインスタンスidを返す。(obj)には予約語:"All"が使用できる。(x,y)に(obj)のインスタンスを生成する。戻り値は、生成されたインスタンスid。カレントインスタンスのコピーを生成する。引数は、コピーインスタンスにCreateイベントを送るか設定する。戻り値は、新しく生成したインスタンスid。カレントインスタンスを破棄する。カレントインスタンスのオブジェクトを(obj)に変化させる。(perf)はestoryイベント、createイベントを送るか指定する。(x,y)に位置しているインスタンスをすべて破棄する。(x,y)に位置しているインスタンスをすべて(obj)に変化させる。(perf)でdestoryイベント、createイベントを送るか指定する。†(注意)停止状態にしたインスタンスは処理系からはずされ、イベント処理を行わなくなるばかりか、例えば他のインスタンスによって破棄しようとしても破棄されなくなります。あるミスは、動作状態にさせるためのインスタンスさえも停止状態にしてしまうことです。停止状態を実行したインスタンス自身は保護されるように関数を使用するべきです。ルーム内すべてのインスタンスを停止させる。(notme)=trueで呼び出し側のインスタンスは停止しない。(obj)であるすべてのインスタンスを停止させる。(obj)にインスタンスid、予約語:"All"を使用できる。左上の座標(top,left)から横幅(width)、縦幅(height)の矩形範囲に対する処理を行う。(inside)=falseで矩形範囲外のインスタンスを停止させる。(notme)=trueで呼び出し側は停止しない。ルーム内のすべてのインスタンスを動作状態にする。(obj)であるすべてのインスタンスを動作状態にする。(obj)にインスタンスid、予約語:"All"を使用できる。左上の座標(top,left)から横幅(width)、縦幅(height)の矩形範囲に対する処理を行う。(inside)=falseで矩形範囲外のインスタンスを動作状態にする。現在のルームのスピード。1秒間に処理するステップ数。※以下はすべて読み取り専用である。一秒間に表示するフレーム数。ゲーム開始から経過したミリセカンド。