【GameMaker】構成(Config)とマクロの活用

GameMaker

この記事では、GameMakerの構成(Config)とマクロの活用方法についてまとめていきます。

はじめに

はじめに、今回のポイントは以下の通りになります。

構成(Config)とマクロ
  • 構成(Config):
    • デバイスやプラットフォーム等、様々な環境に対する管理を行うための機能
    • 作成:アセットブラウザ右上のメニューから「構成エディター」→[Create]
    • 選択:エディタ上部の[ターゲット]→[構成]タブから選択
  • 構成とマクロ:
    • マクロは現在選択中の構成に応じて使い分ける書き方が可能。
    • 構文:#macro <コンポーネント名>:<マクロ名> <値>

それでは、上記ポイントについて順に確認していきましょう。

構成(Config)によるマクロの使い分けと構文

マクロは、構成に応じて使い分ける書き方もできます。
コンポーネントを指定する場合は、マクロ名の前に「:」区切りでコンポーネント名を挿入します。

//構成によるマクロ定義内容の変更:#macro <構成名>:<マクロ名> <値>
#macro TEST a+b     //デフォルトで適用されるマクロ
#macro com_a:TEST a+10    //構成[com_a]が選択されている場合に適用されるマクロ
#macro com_b:TEST b+10    //構成[com_b]が選択されている場合に適用されるマクロ
一言コメント
一言コメント

これによって、OSやデバイスのほか、開発環境や本番環境といった固有の状況に応じた使い分けが可能になります。
(構成を設定する一番のメリットになる部分といってもいいかもしれません。)

実際に動作させてみる:構成の新規作成~マクロ動作確認

ここまでの説明だけではイメージがつきにくいかと思いますので、構成の作成~実際に簡単な動作確認を行う形で実装手順をまとめておきます。

構成の新規作成

構成はアセットブラウザ右上のメニュー内にある、「構成エディター」から編集が可能です。

作成ボタンを押下すると、Default構成の配下に新規構成が作成されます。
ここでは「TestConfig」という名前を付けました。

エディタ右上のターゲットメニューを確認すると、追加した構成が選択可能になっていることを確認できます。 

構成によるマクロ変化と動作確認

構成によるマクロの変化を確認してみましょう。適当なオブジェクトを作成し、それぞれ以下のイベントを作成してください。
(今回は分かりやすいようにCreateイベントに作っていますが、マクロの位置は任意です)

Createイベント


#macro MSG "config=default"
#macro TestConfig:MSG "config=TestConfig"

Drawイベント

draw_text(10, 10, MSG);

マクロとして文字列を定義し、それをdraw_textで表示するだけの簡単なものです。

作成したオブジェクトをルームに配置して実行してみます。

選択されている構成がdefaultか、作成した構成で表示される文字が変わることが確認できます。
*選択中の構成はエディタ右上のターゲットアイコンから変更できます。

おわりに

今回は、GameMakerの構成(Config)とマクロの活用方法についてまとめてきました。

最後にもう一度ポイントを記載しておきます。

構成(Config)とマクロ
  • 構成(Config):
    • デバイスやプラットフォーム等、様々な環境に対する管理を行うための機能
    • 作成:アセットブラウザ右上のメニューから「構成エディター」→[Create]
    • 選択:エディタ上部の[ターゲット]→[構成]タブから選択
  • 構成とマクロ:
    • マクロは現在選択中の構成に応じて使い分ける書き方が可能。
    • 構文:#macro <コンポーネント名>:<マクロ名> <値>

構成による管理と、マクロによる処理の使い分けをしていくことで、テストやリファクタリングの面でも効率化が図れるかと思います。

あまり使用頻度自体は高くないかと思いますが、使える機能の一つとして押さえておきましょう。

一言コメント
一言コメント

お疲れさまでした。
当記事につきまして、ご意見やご質問、記載内容の不備等がございましたら、是非↓のコメント欄からお気軽にご連絡いただけますと幸いです。

制作作業、一緒に頑張っていきましょう!

おすすめの本①
GameMaker
ひらまめ(hiramame)をフォローする
ひらまめゲーム制作研究室

コメント

タイトルとURLをコピーしました