![見出し画像](https://assets.st-note.com/production/uploads/images/126502245/rectangle_large_type_2_9e65fdf066e515d8ee7d7ec79226ea14.png?width=1200)
【GB Studio】第2回 オーバーレイ(ウィンドウレイヤー)の可能性【GBVM】
こんにちは、しぐれです。
今年もよろしくお願い致します。
今回も引き続きオーバーレイでGBVMを色々やろうと思います。
前回の記事はこちら
オーバーレイに背景を描画する
前回はオーバーレイに文字を表示させました。
フォントを使って記号を表示させることができるので絵を分割して表示させることも可能です。
しかし、この方法だとフォントの数(255個)しか表示できないという難点があります。
また、普通に使う文字の枠を圧迫することにもなります。
以上を解決するために今回は背景をオーバーレイに描画させてみようと思います。
背景画像を用意
テスト用なので160×144の白画像にニコちゃんマークを描いたものを用意しました。
ニコちゃんマークの開始座標はX=0・Y=0、サイズはW=5タイル・H=5タイルです。
![](https://assets.st-note.com/img/1705639672314-IKUhov3wfo.png)
オーバーレイの動きを確認(飛ばしてOK)
ニコちゃんマークをオーバーレイに写す前のオーバーレイの動きを確認しておきます。
ここにニコちゃんマークが出るんだ、というイメージをします。
オーバーレイの動きなどが分かっている方はこれはやらなくてOKです。
![](https://assets.st-note.com/production/uploads/images/128662258/picture_pc_d260cd8b3631c4d37b9f2c8d4b7f23ea.gif)
(分かりやすくするために移動させています)
ちなみにオーバーレイは初期化しないとバグる時があります。
対策としては、予め表示&非表示&初期位置に移動させることです。
![](https://assets.st-note.com/img/1706095987494-zrCQZA2j5O.png)
オーバーレイに描画
背景に描かれているものをオーバーレイに描画させるために使うGBVMは「VM_OVERLAY_SET_SUBMAP」です。
VM_OVERLAY_SET_SUBMAP X, Y, W, H, SX, SY
オーバーレイのサイズ以上の数値を設定するとバグります。
数値は全てタイル単位です。
X:描画を開始するオーバーレイのX座標。0〜20。(今回は0)
Y:描画を開始するオーバーレイのY座標。0〜18。(今回は0)
W:オーバーレイに描画する絵の横幅。(今回は5)
H:オーバーレイに描画する絵の高さ(今回は5)
SX:オーバーレイに描画する絵の背景におけるX座標(今回は0)
SY:オーバーレイに描画する絵の背景におけるY座標(今回は0)
今回用に書くとこうなります。
VM_OVERLAY_SET_SUBMAP 0, 0, 5, 5, 0, 0
これを書くとこうなります。
![](https://assets.st-note.com/production/uploads/images/128670571/picture_pc_201e59b1fd650af2cc932d4f9b3afb98.gif)
これでオーバーレイに背景画像を描画させることができました。
参考にした下記記事には右側から迫ってくるボスをこの方法で実装させています。
(衝突判定も移動させているようです)
次回
次回はスワップタイルと合わせて会話シーンにアバターを表示させようと思います。
![](https://assets.st-note.com/img/1706101180165-BRg6s9jvyc.png)
なるべく早く更新できるように努めます。
次回もお楽しみに!
この記事が気に入ったらサポートをしてみませんか?