今日は最近触り始めたGameMaker Studio 2 (GMS2)の組み込みインスタンス変数(Instance Variables)について整理してみたいと思います。
主にGMS2の基本を覚えたいけど日本語の資料がなくて困っている人向けですが、2Dゲームエンジンを自作したいけど標準プロパティとして何が必要か迷っている人の参考として使えるかもしれません。
GMS2の組み込みインスタンス変数(Instance Variables)について
GMS2ではオブジェクトからインスタンスを作成すると、標準でいくつかのインスタンス変数が設定されます。これらの組み込みインスタンス変数はそれぞれ特別な機能を持っており、例えばx
とy
は値を書き換えることでインスタンスの表示位置を変更することができます。
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でループ再生停止 |
物理エンジン関連のインスタンス変数は非常に数が多く、物理エンジンそのものの機能の理解も必要となるため割愛。
GMS2の物理エンジンの説明はこちらです。