created: 2025-12-01

💬 GameMaker Advent Calendar 2025 に参加しています。

ルームに配置したたくさんのオブジェクトを1つずつ設定していく作業、大変ですよね。そんな作業を楽にする技を紹介します。

宝箱を例に説明します。

roomに複数の宝箱がありそれぞれがどのアイテムをドロップするかを設定したい。

このとき、

これが普通のやり方だと思います。

宝箱が少なければこれで十分ですが多いと大変になります。Variablesはインスペクタで直接編集できますが、Creation Codeはインスペクタから編集できません。1個ずつ選択して、開いて、編集して、閉じる。これを繰り返すのは想像以上に大変です。

数が多くなくても問題があります。設定ミスや設定漏れがぱっと見て分からないのです。

この問題をなんとかしたい。これを解決する変化球のテクニックがあります。

「image_indexで値を設定する」という方法

アイテムが10個あるという想定で説明します。

まず開発時にルームエディタでだけ使うための画像を作ります。アイテムの数である10フレームある宝箱spriteを作るのですが、今回は「未設定」というフレームも入れて11フレーム作ります。 各フレームは番号でもいいしアイテムの画像でもいいです。雑な落書きでいいので何をドロップするかが分かる内容にします。

▼ ルームエディタ用画像。最初のフレームを「未設定」という画像にして11フレーム作った

image.png