DrawGUI は二種類ある Draw 系イベントの内一つです。

このエントリーをはてなブックマークに追加


    GameMakerStudio_Event_Draw_order_flow

なぜDrawに二系統あるかというと、通常描画とは別にGUIいわゆるボタンとかユーザインターフェース)用にDrawGUIが設けられています。

文字を表示するだけならDrawでもDrawGUIでもどちらでも構わないのですが、実行順を意識しながら更に文字を表示する本来用途とか考えるとGUIの方が良いかなという理由でDrawGUIを選びました。

暗黙的に自動実行される Draw でスプライトを描画

オブジェクト・プロパティで最初に確認した「Visible (可視化)」がオンになっていることをここで思い出してください。

可視化オプションオンになっている場合、スプライトを表示するため暗黙的なDrawが実行されています。

今回、オブジェクトはスプライト(オブジェクト・インスタンス自身の外観)を描画しながら、文字を描画する処理をも加えます。

文字を描画する場合、DrawでもDrawGUIでも選べますが、イベントからDrawを選んだら、オブジェクトの描画処理をGMS任せから完全なユーザ定義に任せることになります。

すると文字描画処理をDrawで行う場合には、スプライト描画用のアクションも自身で付け加える必要が出てきます。

せっかく可視化をオンにしてある、そして通常描画処理はGMSに丸投げできて、しかも二系統あるのだからDrawGUIを選んで文字描画用に割り当てれば、DrawGUIにだけアクションを定義するだけで済みます。

実行順を考える

Drawの後にDrawGUIが実行されます。

可視化オプションをオンにしたことでDrawは自動的にスプライトを描画、次の処理DrawGUIで文字を描画する指示を出すと、文字列描画は必ずスプライトより前面に描画されます。

    GameMakerStudio_object_event_action_drawGUI_function

この処理だとスプライトと文字が重なって表示される場合は、必ずスプライトの上に文字が重なるように表示されるので、スプライトで文字が隠れてしまうことはありません。

次のページへ

“超”初心者用チュートリアル:記事一覧