viewのグローバル変数
はじめに
viewの基本的な部分に関してはこちらをご参照ください。
グローバル変数一覧
viewのグローバル変数は、ほぼすべてルームのviewsタブと対応しています。
※変数の後ろの[i]はviewの番号が入ります。[i]を付けない場合はview[0]の値になります。
例)view_xview[0]=800
①view_enabled view機能を有効にする (true または false)
②view_visible[i] 指定したviewを有効にする (true または false)
③view_xview[i] viewのX座標
④view_yview[i] viewのY座標
⑤view_wview[i] viewの横幅
⑥view_hview[i] viewの縦幅
⑦view_xport[i] 取得したviewを表示する画面内のX座標
⑧view_yport[i] 取得したviewを表示する画面内のY座標
⑨view_wport[i] 取得したviewを表示する際の横幅
⑩view_hport[i] 取得したviewを表示する際の縦幅
以下の機能についてはこちらに解説します。今回は機能の内容のみを記載します。
⑪view_object[i] 追従するオブジェクト (オブジェクト名 または noone)
⑫view_hborder[i] viewの水平方向の境界線の幅
⑬view_vborder[i] viewの垂直方向の境界線の幅
⑭view_hspeed[i] viewの水平方向へのスクロール速度
⑮view_vspeed[i] viewの水平方向へのスクロール速度
viewsタブにない機能として view_angle[i] viewの角度 があります。
数値を増減することで回転させたり、+10-10を繰り返すことで揺れたような演出を行うことが出来ます。
角度が変更された場合、viewの座標ではなく、viewの中心を軸に回転します。
次にそれぞれのグローバル変数をゲーム画面を例に解説します。
ゲーム画面を例にしたグローバル変数の解説
例としてviewについて(基礎編)で使用したrStage01を使います。
rStage01のルームサイズは1600×600です。
※初期状態ではrStage01のルームの縦幅は608ですが、わかりやすくする為に600としました。
ルーム開始時にview機能は有効、view[0]が有効になっているので
この状態をグローバル変数にすると
view_enabled=true;
view_visible[0]=true;
となります。
このルームの全体図はこのようになっています。
このルームのviewの設定は
View in room
X:800 Y:0 W:800 H:600
Port on screen
X:0 Y:0 W:800 H:600
となっています。
この設定の内容で指定されるviewは
この状態をグローバル変数にすると
view_xview=800;
view_yview=0;
view_wview=800;
view_hview=600;
この状態をグローバル変数にすると
view_xport=0;
view_yport=0;
view_wport=800;
view_hport=600;
となります。
※注意
view_xport+view_wport、またはview_yport+view_hportの合計値が設定前の値と変更された場合
(設定前より小さかったり、画面からはみ出た場合)
画面サイズが変更され、GameMakerの機能によりウィンドウがディスプレイの中央へ強制移動されます。
例)オブジェクトなどでview_xport=100;view_wport=800;などとすると、画面サイズが900になります。
viewのグローバル変数による座標の指定
ここで指定する座標はルームのどの位置にいても、viewの座標から位置を割り出すものです。
よく利用されるので、覚えておくといいでしょう。
座標一覧
取得する座標 | X座標 | Y座標 | 内容 |
---|---|---|---|
画面左上 | view_xview | view_yview | viewの座標。ここが基本の位置になります。 |
画面左下 | view_xview | view_yview+view_hview | viewの座標にviewの縦幅を足したもの。 |
画面右上 | view_xview+view_wview | view_yview | viewの座標にviewの横幅を足したもの。 |
画面右下 | view_xview+view_wview | view_yview+view_hview | viewの座標にviewの縦幅、横幅を足したもの。 |
画面中心 | view_xview+(view_wview/2) | view_yview+(view_hview/2) | viewの座標にviewの縦幅、横幅の半分を足したもの。 |
次にview座標を変更する使用例(カメラオブジェクト)を解説します。