GameMaker 日本語掲示板

GUI描画で描画したものより手前に(上に)オブジェクト(スプライトを設定したもの)を持ってくる方法

2 コメント
views
17 フォロー

GUI描画内でdraw_textなどをした時、必ずオブジェクト(スプライトのついた)が下になって表示されてしまうのですがどうしたら上に持ってこれますか?描画ではなくGUI描画のままで上に持っていきたいです!(説明下手ですみません!)

xzy
作成: 2024/06/05 (水) 02:36:56
通報 ...
1
asa 2024/06/05 (水) 19:33:32 修正

GameMakerのレンダリングパイプラインはこうなっていて(マニュアルURL参照)
application_surfaceでGUI要素以外の全てが描画され、そのあとでGUI要素が描画されます。
https://manual.gamemaker.io/lts/en/index.htm?#t=The_Asset_Editors/Object_Properties/Draw_Events.htm

なのでGUI要素の前面に描画させたい場合はDrawGUIイベントで描画する必要があります。

仮に、HUD表示をDrawGUIで描画していてHUDよりも前面にキャラを表示させるとすると、
DrawGUIイベントで
1) HUDを描画
2) キャラ(のsprite)を描画
の順で描画します。

DrawGUIイベントを使わずに全部Drawイベントでやる方法もあると思います
(その場合はHUDも一緒にスクロールとかしないよう制御する必要が出てきます)

2

なるほど.....やっぱり諸々を考えてDrawイベントの方に書いていこうと思います!ありがとうございました!