GameMaker Studio 2の組み込みインスタンス変数まとめ

今日は最近触り始めたGameMaker Studio 2 (GMS2)の組み込みインスタンス変数(Instance Variables)について整理してみたいと思います。

主にGMS2の基本を覚えたいけど日本語の資料がなくて困っている人向けですが、2Dゲームエンジンを自作したいけど標準プロパティとして何が必要か迷っている人の参考として使えるかもしれません。

GMS2の組み込みインスタンス変数(Instance Variables)について

GMS2ではオブジェクトからインスタンスを作成すると、標準でいくつかのインスタンス変数が設定されます。これらの組み込みインスタンス変数はそれぞれ特別な機能を持っており、例えばxyは値を書き換えることでインスタンスの表示位置を変更することができます。

GMS2ではこの組み込みインスタンス変数の使いこなしが非常に重要なのですが、そこそこ数がありますので、カテゴリごとに一覧表にまとめてみます。

参考にした公式リファレンスはこちらです。

一般 (General Variables)

変数名 説明
id インスタンスの識別番号(読み取り専用)
visible trueで表示、falseで非表示
solid trueで障害物(solid)として認識される、falseで障害物として認識されない
persistent trueでルーム移動時にインスタンスを保持する、falseで破棄する
depth 表示優先度(小さいほど手前に表示される、負の値も設定可能)
layer インスタンスが所属するレイヤー番号
alarm インスタンスが管理するタイマー(alarm)の配列
object_index インスタンスの基となったオブジェクト番号 (読み取り専用)

スプライト属性 (Sprite Properties)

変数名 説明
sprite_index インスタンスに設定されているスプライト番号(-1で設定なし)
sprite_width スプライトの幅(読み取り専用)
sprite_height スプライトの高さ(読み取り専用)
sprite_xoffset スプライトの原点(origin)への横方向オフセット
sprite_yoffset スプライトの原点(origin)への縦方向オフセット
image_alpha スプライトの透明度(0で透明、1で不透明)
image_angle スプライトの回転角度
image_blend スプライトの表示色(-1で元の色)
image_index スプライトの現在のアニメーション番号
image_number スプライトのアニメーション数(読み取り専用)
image_speed スプライトのアニメーションスピード(1で標準)
image_xscale スプライトの水平方向の拡大率
image_yscale スプライトの垂直方向の拡大率

マスク&バウンディングボックス (Mask And Bounding Box)

変数名 説明
mask_index インスタンスに設定されているマスク番号(-1で設定なし)
bbox_bottom インスタンスを囲む矩形の下辺のY座標(読み取り専用)
bbox_left インスタンスを囲む矩形の左辺のX座標(読み取り専用)
bbox_right インスタンスを囲む矩形の右辺のX座標(読み取り専用)
bbox_top インスタンスを囲む矩形の上辺のY座標(読み取り専用)

移動&位置 (Movement And Position)

変数名 説明
direction インスタンスの移動方向、speedが0でない場合に有効になる
friction speedが0でない場合に毎ステップこの値分減速させる
gravity gravity_directionの方向に毎ステップこの値分加速する
gravity_direction gravityが0でない場合に毎ステップ加速する方向
hspeed 水平方向の移動速度
vspeed 垂直方向の移動速度
speed インスタンスの移動速度、directionとセットで使用する
xstart インスタンスの初期X座標(読み取り専用)
ystart インスタンスの初期Y座標(読み取り専用)
x インスタンスのX座標
y インスタンスのY座標
xprevious インスタンスの前ステップのX座標
yprevious インスタンスの前ステップのY座標 |

パス (Paths)

変数名 説明
path_index インスタンスに設定されているパス番号(読み取り専用)
path_position パス内の位置(0.5で中間)
path_positionprevious パス内の前ステップの位置
path_speed パスを進む速度(ピクセル数単位)
path_scale パスの拡大率
path_orientation パスの回転角度
path_endaction パスの終端到達時のアクション(path_action_stop等)

タイムライン (Timelines)

変数名 説明
timeline_index インスタンスに設定されているタイムライン番号(-1で未使用)
timeline_running trueでタイムライン再生、falseで停止
timeline_speed タイムラインの再生速度(1が標準)
timeline_position タイムラインの現在の再生位置
timeline_loop trueでタイムラインをループ再生、falseでループ再生停止

物理エンジン (Physics)

物理エンジン関連のインスタンス変数は非常に数が多く、物理エンジンそのものの機能の理解も必要となるため割愛。

GMS2の物理エンジンの説明はこちらです。