【Game Creator】変数の使い方【Variables】【Unityアセット】

Game Creatorサムネ

Unityアセット「 Game Creator」に搭載している3つの変数管理システム「Global Variables」「Local Variables」「List Variables」の使い方と解説をします。

変数の種類

GameCreatorには3つの変数があります。

Global Variables全てのシーンで利用可能な変数です。専用のエディタで管理します。
Local Variablesシーン内のみ利用可能な一時的な変数です。コンポーネントとして用意しています。
List Variables配列型の変数です。Local Variablesの一種でコンポーネントとして用意しています。

変数の型

Game Creatorは以下の変数に対応しています。

BoolColorNumberGameObject 
StringSpriteTexture2DVector2Vector3
注意

GameObject型は保存できません。

Global Variable

GameCreator_変数エディタ

全てのシーンで利用可能な変数です。
GameCreator > Preferences > Variablesに専用のエディタがあります。

右側の+の左に名称を入れてから+ボタンを押すと変数を追加できます。
Name
変数の名称。ゲームでは使用しないので分かりやすい名称を。

Name右側のチェックボックス
その変数をセーブ可能にするか。チェックを入れるとAction「Save Game」時に値を保存し、「Load Game」時に保存した値をセットします。

Type
変数の型

Value
初期値

Tags
エディターの見た目の変化。タグの種類と色は画面右側「Edit Tags」で設定します。画像の例で言えば、赤色表示に設定しているtagを選んでいます。ゲームでは使用しません。

Local Variables

GameCreator_ローカル変数2

シーン内のみ利用可能な変数です。コンポーネントなのでゲームオブジェクトにアタッチして利用します。右側の+の左に名称を入れてから+ボタンを押すと変数を追加できます。

Name、Name右側のチェックボックス、Type、ValueはGlobal Variablesと同じ項目です。

ID
セーブ時に保存する値のキーとなる項目。この値は異なるローカル変数で必ず違う値にする必要があります。GUIDで発行しているようなので、基本的には必ず異なります。ロードする時は、このIDが一致するローカル変数に値をセットする処理が入ります。

ローカル変数の使い道は一時的な変数を利用するのにGlobal Variableエディタを汚さない他、本領は複数利用前提のPrefabにアタッチすることにより、同一Prefabの異なるゲームオブジェクト間で格納する値が異なるけど、名称が同一な変数を用意できることです。

GameCreator_ローカル変数

▲緑色CubeのPrebasにbool型変数coreを設定。画面上は3つのCubeがあり、Qube1の変数coreを変更しても残り2つのCubeには反映しません。

例えば、複数の味方キャラクターがおり、全員に経験値という概念が存在するとします。その場合はCharacterコンポーネントにLocal Variablesコンポーネントをアタッチし、「exp」という名前のNumber変数を用意すれば、各キャラクター個別に経験値を管理することができます。勿論、Global Variableと同じく複数の変数を管理できるため、各ステータスを全てセットするような処理も簡単に実装できます。

注意

上記Prefabの例ですが、実はそのまま利用するとセーブが正しく機能しません。何故なら1つのLocal Variablesごとに1つのIDであり、多数の同一Prefabコンポーネントを使用した場合は全てのコンポーネントで同じIDになってしまうためです。そのため、最初からHierarchyで個別にIDを変える、Actionにはないのでプログラムを使用して直接IDを書き換える等なんらかの対策が必要です。

List Variables

GameCreator_配列変数

Local Variablesと同様にシーン内のみ利用可能な変数です。コンポーネントなのでゲームオブジェクトにアタッチして利用します。Local Variablesとの違いは1つしか変数がない代わりに配列型であることです。保存にも対応しています。

項目はGlobal Variables,Local Variablesと被るため省略します。

利用用途はLocal Variablesとは逆に数によって管理したい処理に利用します。RPGのパーティーメンバーの管理など。

Action項目でList Variableを操作する際のSelect要素

値の取得や更新時に配列のどの番号を取得するかを決定します。

Index任意の位置を指定します。
First0番目を指定します。
Last一番最後を指定します。
Previous現在の位置の一つ前を指定します。
Current現在の位置を指定します。
Next現在の位置の一つ上を指定します。
Randomランダムに位置を決定します。

現在の位置は初期値0でAction「List Variables Iterator」にて変更が可能です。

関連リンク

参考 【Unityアセット】Game Creatorの紹介と解説 トップページゲーム開発65535 Ver2

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です