viewについて
viewとは?
GameMakerにはview機能というものがあり、
view機能をオンにすることで指定した部分を指定したサイズで画面に表示することが出来ます。
テレビカメラに例えると、撮影する部分を設定し、撮影したものをテレビのどこに表示するか
と言った感じになります。
viewの使い方
view機能を利用する為には、
ルームの左にあるviewsタブの、
①Enable the use of Views(view機能の使用を有効にする)にチェックを入れ、
②view0~view7から使用したいviewを選択し、
③Visible when room starts(選択したviewを有効にする)にチェックを入れます。
今回はview0のみを使用します。
※使用しているviewは太字になっています。
④View in roomはviewの座標と、サイズを指定し、
⑤Port on screenはviewを画面のどこに配置し、どのサイズで表示するかを指定します。
先ほどのテレビカメラで言えば、
View in roomで撮影する部分を設定し、
Port on screenで撮影したものをテレビのどこに表示するか(小さくしてワイプ等)
と言った感じになります。
詳しくは次の段落で解説します。
⑥Object followingは設定したオブジェクトをviewが追従する機能です。
この機能についてはこちらに解説します。
次にここで設定されたものが、どのような形で表示されるかを解説します。
viewの表示の流れ
例としてrStage01を使います。
rStage01のルームサイズは1600×600です。
※初期状態ではrStage01のルームの縦幅は608ですが、わかりやすくする為に600としました。
このルームの全体図はこのようになっています。
このルームのviewの設定は
View in room
X:800 Y:0 W:800 H:600
Port on screen
X:0 Y:0 W:800 H:600
となっています。
この設定の内容について解説します。
View in room
View in roomでviewの範囲を設定します。
X:800 Y:0 viewの座標
W:800 H:600 viewのサイズ ※Wはwidth(横幅)、Hはheight(縦幅)
viewの座標の位置から指定した縦幅と横幅がviewの範囲になります。
取得したviewの範囲はこのようになります。
すでに完成しているように見えますが、まだ画面のどの位置にこのビューを配置するか決まっていません。
この取得した部分を次のPort on screenで画面に表示します。
Port on screen
まずこの図はゲーム画面に何も表示していない状態だとします。
この画面の左上の座標がX:0 Y:0になります。
次に先ほど取得したviewの範囲を
Port on screenで画面のどの位置にどのサイズで表示するかを設定します。
X:0 Y:0 画面のどの位置に表示するか
W:800 H:600 先程取得したviewの範囲を指定したサイズに変更 ※Wはwidth(横幅)、Hはheight(縦幅)
指定した位置に指定したサイズで設置します。
完成図がこのようになります。
viewの範囲と同じように見えますが、
今回はviewのサイズと、portのサイズが同じで、設置する位置がX:0,Y:0だからです。
これからの値を変えることで、表示方法を変えることが出来ます。
ちなみにrStage01では左のマップへ移動したり出来ますが、
これはカメラオブジェクトがplayerの座標からviewの座標を算出し、
View in roomのX:800 Y:0をX:0 Y:0に変更することで、viewの座標を変更しています。
こういったviewの座標の変更や、サイズの変更などをオブジェクトによって行う場合は、
view_xviewやview_yviewなど、GameMakerですでに用意されているグローバル変数を変更することによって行います。
この辺りに関してはviewのグローバル変数で解説します。