見出し画像

GB Studio TIPS① 変数の種類と仕様、その操作

このTIPSシリーズでは、GB Studioを使っていて躓きがちな…というか自分が前に躓いた点をピンポイントに解説していきたいと思います。
第1回目は変数について。
※以下の内容は検証し出来るだけ正確になるよう心掛けていますが、全然間違っている可能性もあります。ご留意ください。
使用ソフト:GB Studio 3.2.1

変数の種類

GB Studioには、それぞれ有効な範囲や寿命の違う3種の変数があります。

1. Grobal変数

画面左のVariable一覧に表示されている変数。
全512個。
シーンやアクター、トリガーを跨いで参照や操作、表示ができる共通の変数。
色々な場面で必要になるデータを保管しておいたり、シーンを越えて使いたいフラグを立てるのに便利。
使い道:キャラクターのレベル、ステータス など

2.Local変数

シーンやアクター、トリガー毎に個別に保有する変数。
それぞれ6個。
シーンが変わっても保持し続ける。
別のシーンやアクター、トリガーのLocal変数を参照や操作、表示することは(多分)できない。
使い道:宝箱の開閉フラグ など

3.Temp変数

Grobal変数と同じくシーンやアクター、トリガーを跨いで参照や操作、表示ができる共通の変数だが、一時的なものなので使用後※は初期値の0に戻る。
※使用後どの程度の期間残るのかはその後の処理による…かも?
 検証したところ、複数回ダイアログで表示したり演算に使用した程度ではまだ保持していました。
それぞれ2個。
使い道:選択肢の結果(はい=true/いいえ=false のような)など

変数の仕様

変数に代入できる数値の範囲は
-32768~32767(ver.3.2.1の場合)
扱える数は整数のみ、小数点は使えません。

変数には複数のフラグを立てることも可能です。
ひとつの変数につき立てられるフラグの数は
16個(ver.3.2.1の場合)
このフラグが立っているかどうかの条件分岐イベントも扱えます。

変数の操作

書き方、基本

ダイアログに変数を表示したり数式に変数を使用するときには、
$○○(変数の名前) か、
n=変数の通し番号(0始まり)として
Global変数:$n$ 
Local変数:$Ln$
Temp変数:$Tn$
と書きます。
後者の書き方をするとオートコンプリート機能により前者の表記になりますが、Display Background Text等のプラグイン拡張機能では後者の表記のみ使用可能な場合があります。
※$0$だけは例外的にLocal0が参照されるようです(どうしてェ…?)

引数として

スクリプトに引数として渡す変数には、by Refとby Valという2種類の扱い方があります。

右側にあるプルダウンメニューで変更できます

By Ref:
スクリプト内で参照元の変数の値を変更できる。
リンクしているイメージ。
スクリプト内でフラグを操作したり値を返したい場合に使う。
By Val:
スクリプト内で参照元の変数の値を変更できない。
埋め込んでいるイメージ。
元の値を変更したくない場合に使う。

おわりに

自分がGB Studioを始めてまず躓いたのが、変数の有効範囲についてでした。
数値を扱うことは、ゲーム制作では避けては通れない基本のキだと思います。ゲームとは数値が増えていくのを楽しむものという極論もありますしネ。
これを読んでくださった方が、その一歩目をうまく踏み出せることを願っています。
最後まで読んでいただき、ありがとうございます。今後ともよろしくお願いします。

参考文献

Basics: Variables - GB Studio Central
https://gbstudiocentral.com/tips/basics-variables/

この記事が気に入ったらサポートをしてみませんか?