mp_potential_path()


モーションプランについて

mp_potential_path

障害物を回りこんで回避しながら目標座標に向かうパスを生成します

構文

mp_potential_path(path, xgoal, ygoal, stepsize, factor, checkall)
path
パスのインデックス番号
xgoal
目標座標(X)
ygoal
目標座標(Y)
stepsize
1ステップごとの移動量
factor
無限ループを防ぐ数値。1より大きくすべきです
checkall
trueでall / falseでsolidのみ

戻り値

Boolean.
目標座標に到達していたらtrue

説明

 この関数はインスタンスの現在座標から指定の座標("xgoal", "ygoal"引数)までのパスを生成します。途中に障害物(全てのインスタンスまたはsolid)がある場合、これを回避しようとしながら移動します。mp_potential_step()と似ており、回避運動のパラメータはmp_potential_settings()で設定できます。
 この関数を呼び出すことで"path"に設定されているパスは上書きされます。もしも目標座標に到達していたらtrueを返します。

 パスの生成にあたって"factore"変数には「1」より大きい値を設定する必要があります。それは"factor"よりも短いパスを見つけられない場合、関数は停止し失敗を報告するためです。
 "factor"には通常「4」で充分ですが、それでも長い回り道をする場合には失敗する可能性があります。パスの作成に失敗した場合、目標座標には届きませんが近似のパスを作成します。

注意

この関数はインスタンスを移動させずに、パスを生成するのみです。


path = path_add();
mp_potential_path(path, obj_Player.x, obj_Player.y, 3, 4, 0);
path_start(path, 3, 0, 0);

上記コードは"path"変数にパスを生成します。"obj_Player"の座標に向かって移動し、途中に障害物があれば回避します。1Stepごとの移動の速さは「3」となります。

関連

Wiki内検索

#search(): You already view a search box

MENU

ドキュメント

GMLリファレンス

2ch

その他



最新の30件

2024-03-07 2023-08-09 2023-05-21 2023-05-20 2023-05-04 2022-10-13 2022-07-21 2022-07-02 2022-04-06 2021-11-30 2021-11-26 2021-10-03 2021-09-23 2021-08-15 2021-06-02 2021-01-23 2021-01-21 2021-01-19 2021-01-18 2021-01-16 2021-01-15

人気の10件

今日の10件



これまでの訪問者: 1529
今日の訪問者: 1
昨日の訪問者: 1
閲覧者: 2