Unityで変数をPublicな変数にすると、Inspector上から変更可能な値となります。
何はともあれ、以下のコードを適当に書いて、適当なオブジェクトに当てましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
using UnityEngine; using System.Collections; public class hoge : MonoBehaviour { public int hogehoge; // Use this for initialization void Start () { Debug.Log(hogehoge); } // Update is called once per frame void Update () { } } |
■実行
さて、現段階では何も入力していないので、「0」が返されているはずです。
■再実行
Inspectorから適当に数値を入力して、再度実行。
次は入力した数字が吐出されたでしょう。
ともかく適当に数字を入れ込んでみましょう。
小数点数を打ち込んだりする事はできなかったはずです。
打ち込めたのは、-2147483648~2147483647の間の整数値だけだったでしょう。
ようはInspectorから打ち込んだ数値はint型である事しか保証されてません。
もっと具体的に言えば”32bit符号付き整数の範囲”である事しか保証されていません。
■具体的な事例で考えてみよう
例えば…
HPの値をpublic intで設定する仕様だとしましょう。
こんな時、マイナスの数字を入力されたら?
勘違いをして、膨大な数を入力してしまったら?
どう考えても、バグやエラーの発生源となります。
そんな初歩的なバグやエラーを発生させない様にするのが
CustomInspectorの役割の一つです。
■メリット
・コードをいじる事なくプログラムに対して入力を行える。
・プログラムが書けない人間もテスト後即修正する仕組みができる。
・コードを理解せずとも、意図と意味が分かれば適切な調節ができる。
■デメリット
・適切なCustomInspectorにしなければ、バグ、エラーの原因となる。
・UnityEditerを弄る人すべてが数値を弄れる状態となる。
次回の記事では、実際にCustomInspectorを使ってみたいと思います。
コメント
No Trackbacks.