ゲームプレイ


Game Maker Language リファレンス > 組み込み関数 用途別 > ゲームプレイ

ゲームプレイ

移動

移動設定

  • motion_set():インスタンスに移動方向と移動速度を設定します
  • motion_add():インスタンスに今移動している方向と速度に対し、さらに移動方向と移動速度を加えます

スナップ移動

  • move_random():インスタンスを、ランダムに指定した幅にスナップさせた位置に移動させます
  • move_snap():インスタンスを、一番近いスナップされた位置に調整します

ラップ移動

  • move_wrap():ルームから出たらラップさせるようにします

特定の座標に向けて移動

衝突

衝突チェック

  • place_free():インスタンスが指定座標に配置されたとき、ソリッドオブジェクトに衝突しなければtrue。衝突したらfalse
  • place_empty():インスタンスが指定座標に配置されたとき、任意のオブジェクトに衝突しなければtrue。衝突したらfalse
  • place_meeting():指定座標にインスタンスを配置したとき、objであらわすオブジェクトと衝突すればtrue、しなければfalse
  • place_snapped():スナップに一致していたらtrue。ずれていたらfalse

衝突応答

  • move_bounce_solid():インスタンスがソリッドオブジェクトに対し跳ね返り処理をさせます
  • move_bounce_all():インスタンスが全てのオブジェクトに対し跳ね返り処理をさせます

衝突するまで移動する

  • move_contact_solid():引数dir 方向にむかってソリッドオブジェクトに接するまで移動します
  • move_contact_all():引数dir 方向にむかって任意のオブジェクトに接するまで移動します

衝突しなくなるまで移動する

  • move_outside_solid():引数dir 方向にむかってソリッドオブジェクトに触れなくなるまで移動します
  • move_outside_all():引数dir 方向にむかって任意のオブジェクトに触れなくなるまで移動します

衝突距離の算出

  • distance_to_point():現在のインスタンスの位置から、指定した(x,y)に触れるまでの距離を計算します
  • distance_to_object():objで指定したオブジェクトの一番近いインスタンスに触れるまでの距離を算出し返します

インスタンス存在チェック

  • position_empty():座標(x,y)にインスタンスが存在するかどうかを調べます
  • position_meeting():座標(x,y)にobjで指定したオブジェクトインデックスのインスタンスが存在すればtrueを返します

パスの制御

開始・終了・終了時のアクション

  • path_start():現在のインスタンスに指定のパスを割り当て、それを開始します
  • path_end():現在のインスタンスに割り当てられているパスを終了します
  • path_endaction():パスが終端に達したときのアクションを設定します

パスのプロパティ設定

  • path_index:現在実行しているパスのインデックス番号
  • path_position:現在実行しているパスのポジションの設定と取得
  • path_positionprevious:現在実行しているパスの1つ前のポジションの取得
  • path_speed:現在実行しているパスの速度の設定と取得
  • path_scale:現在実行しているパスのスケールの設定と取得
  • path_orientation:現在実行しているパスの回転角度を設定します

モーションプラン

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

直線で算出

  • mp_linear_step():目標座標に直進し、障害物に当たると静止する。目標座標に到着するとtrueを返す
  • mp_linear_step_object():目標座標に直進し、障害物に当たると静止する。目標座標に到着するとtrueを返す(障害物オブジェクト指定)
  • mp_linear_path():現在のインスタンスを指定の座標まで直線で向かうパスを作成します
  • mp_linear_path_object():現在のインスタンスを指定の座標まで直線で向かうパスを作成します(障害物オブジェクト指定)

障害物を回避

  • mp_potential_settings():mp_potential_step()での回避運度のパラメータ設定
  • mp_potential_step():障害物を回り込んで回避しながら目標座標に向う。目標座標に到着するとtrueを返す
  • mp_potential_step_object():障害物(オブジェクト指定)を回り込んで回避しながら目標座標に向う。目標座標に到着するとtrueを返す
  • mp_potential_path():障害物を回り込んで回避しながら目標座標に向うパスを生成する。目標座標に到着するとtrueを返す
  • mp_potential_path_object():障害物(オブジェクト指定)を回り込んで回避しながら目標座標に向うパスを生成する。目標座標に到着するとtrueを返す

グリッド指定での算出

  • mp_grid_create():指定した位置に任意の大きさのグリッドを生成する
  • mp_grid_destroy():グリッドを破棄する。不要になったら呼び出すようにすること
  • mp_grid_clear_all()?:グリッド内のすべてのマス目の壁判定をクリアする
  • mp_grid_clear_cell()?:グリッド内の指定したマス目(h,v)の壁判定をクリアする。左上のマス目は(0,0)
  • mp_grid_clear_rectangle()?:グリッド内の指定した矩形範囲内にあるマス目の壁判定をクリアする。範囲はルーム座標で指定する
  • mp_grid_add_cell()?:グリッド内の指定したマス目(h,v)に壁判定をつける。左上のマス目は(0,0)
  • mp_grid_add_rectangle()?:グリッド内の指定した矩形範囲内にあるマス目の壁判定をクリアする。範囲はルーム座標で指定する
  • mp_grid_add_instances()?:グリッド内に指定したオブジェクトを含むすべてのマス目に壁判定をつける
  • mp_grid_path():グリッドのパスを生成する。パスの設計に成功した時にtrueを返す
  • mp_grid_draw()?:グリッド内の情報を描写する(壁判定有:赤 無:緑)。 処理が重いので、デバッグ用として使用すること

コリジョン判定

  • collision_point():オブジェクトと点が衝突するかどうかを判定します
  • collision_rectangle():オブジェクトと矩形が衝突するかどうかを判定します
  • collision_circle():オブジェクトと円が衝突するかどうかを判定します
  • collision_ellipse():オブジェクトと楕円が衝突するかどうかを判定します
  • collision_line():オブジェクトと線分が衝突するかどうかを判定します

コリジョン判定 (現在のインスタンスが持つマスクを除外)

  • point_in_rectangle():点と矩形が衝突するかどうか判定します
  • point_in_triangle():点と三角形が衝突するかどうか判定します
  • point_in_circle():点と円が衝突するかどうか判定します
  • rectangle_in_rectangle()?:矩形と矩形が衝突するかどうか判定します
  • rectangle_in_triangle():矩形と三角形が衝突するかどうか判定します
  • rectangle_in_circle()?:矩形と円が衝突するかどうか判定します

インスタンス制御

生成・破棄

インスタンスの検索

  • instance_find():インデックス指定でインスタンスIDを探す
  • instance_position():座標指定でインスタンスIDを探す
  • instance_nearest():指定の座標に一番近いインスタンスIDを探す
  • instance_furthest():指定の座標に一番遠いインスタンスIDを探す
  • instance_place():現在のインスタンスを指定の座標に移動させた時に衝突するインスタンスIDを探す
  • instance_place_list()?:現在のインスタンスを指定の座標に移動させた時に衝突するインスタンスIDを全て探す

インスタンスのアクティブ化・非アクティブ化

タイミング

  • sleep():処理を停止する時間をミリ秒(1/1000秒)で指定します

ルーム

ルーム制御

  • 現在のルームを基準に移動
  • 指定のルームを基準に移動
    • room_goto():指定のルームに処理を移動する
    • room_previous():指定のルームより前のルームインデックス番号を取得する。存在しない場合は-1を返す。処理は移動しない
    • room_next():指定のルームより後のルームインデックス番号を取得する。存在しない場合は-1を返す。処理は移動しない

トランジション(遷移演出)

GM:Sでは廃止

  • transition_define()?:トランジションの定義
  • transition_exists()?:トランジションの存在チェック

イベント制御

レイヤー

レイヤーを使用すると、複数のインスタンスを1つのレイヤーにまとめることによって、インスタンスに対する操作を一括して行うことが可能となります。

基本

別のルームに対する操作

layerは基本的に現在のルームに対する操作ですが、別のルームをターゲットにして操作することもできます。

注意点
別のルームをターゲットにしている場合、instance_create_layer()instance_create_depth() でインスタンスの生成をすることはできません。またlayer_add_instance()でインスタンスがレイヤーを移動することもできません

インスタンス操作

layerのインスタンスの activate / deactive をすることもできます。

その他

ゲーム制御

  • game_id?:ゲームのユニークなID
  • game_end():ゲームを終了する
  • game_restart():ゲームをリスタートする

セーブ・ロード

  • game_load():ゲームデータを指定のファイルからロードする
  • game_load_buffer():バッファからゲームデータをロードする
  • game_save():ゲームデータを指定のファイルに保存する
  • game_save_buffer():バッファにゲームデータを保存する

スクリプト制御

  • script_exists():定されたスクリプトのインデックスが存在するかどうかチェックする
  • script_get_name():指定されたインデックスからスクリプトの名前を取得します
  • script_execute():引数を与えスクリプトを実行します

起動パラメータ

  • parameter_count():コマンドラインから起動したときの、コマンドライン引数の数を返します
  • parameter_string():n番目のコマンドライン引数の文字列を返します

環境変数

外部

  • external_define()?
  • external_call()?
  • external_free()?
  • cursor_sprite?

変数の変更(※GM:Sでは廃止)

  • GM:Sでは廃止
    • variable_global_exists():与えられた名前(string)を持つグローバル変数が存在するかどうかを返します
    • variable_local_exists()?:与えられた名前(string)とインスタンス変数は、現在のインスタンスのために存在するかどうかを返します
    • variable_global_get():与えられた名前(string)でグローバル変数の値を返します
    • variable_global_array_get()?:与えられた名前(string)を持つグローバル配列変数のインデックスINDの値を返します
    • variable_global_array2_get()?:与えられた名前(string)を持つグローバル2次元配列変数のインデックスIND1、IND2の値を返します
    • variable_local_get()?:与えられた名前(string)を使用してインスタンス変数の値を返します。
    • variable_local_array_get()?:与えられた名前(string)を使用してインスタンスの配列変数のインデックスINDの値を返します。
    • variable_local_array2_get()?:与えられた名前(string)を使用してインスタンス2次元配列変数のインデックスIND1、IND2の値を返します
    • variable_global_set():与えられた値に与えられた名前(string)とグローバル変数を設定します
    • variable_global_array_set()?:指定された値に指定された名前(string)を持つグローバル配列変数内のインデックスINDを設定します
    • variable_global_array2_set()?:指定された値に指定された名前(string)を持つグローバル2次元配列変数にインデックスIND1、IND2を設定します。
    • variable_local_set()?:指定された値に指定された名前(string)でインスタンス変数を設定します
    • variable_local_array_set()?:指定された値に指定された名前(string)を使用してインスタンスの配列変数のインデックスINDを設定します
    • variable_local_array2_set()?:指定された値に指定された名前(string)を使用してインスタンス2次元配列変数にインデックスIND1、IND2を設定します

デバッグ

  • show_debug_message();デバッグメッセージウィンドウにstrの文字列を表示します

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件



これまでの訪問者: 27452
今日の訪問者: 8
昨日の訪問者: 9
閲覧者: 4