スクリプトを作成すると、原則として他のコンポーネントと同じようにゲームオブジェクトにアタッチできる、独自の新しいコンポーネントを作成できるようになります。
インスペクターで編集可能なプロパティーを持つ他のコンポーネントと同様に、自分で作成したスクリプトも、インスペクターから編集することでスクリプト中の変数の値を変更できます。
using UnityEngine;
using System.Collections;
public class MainPlayer : MonoBehaviour {
public string myName;
// 初期化に使用します
void Start () {
Debug.Log("I am alive and my name is " + myName);
}
// フレームごとに 1 回づつ Update が呼び出されます
void Update () {
}
}
このコードは、インスペクター上では “My Name” と表示され、編集可能なテキストフィールドとなります。
Unity は、変数名に大文字がある場合、スペースを足してインスペクターのラベルに表示します。これは表示のために使用されるだけなので、コード内では必ず通常の変数名を扱う必要があります。名称を変更して 再生ボタンを押すと、入力したテキストを含むメッセージが表示されます。
C# では、インスペクターに表示するためには変数を public にする必要があります。UnityScript では、デフォルトで public 扱いになるので private を指定しない限りインスペクターに表示されます。
# pragma strict
private var invisibleVar: int;
function Start () {
}
Unity ではゲームの実行中にスクリプト変数の値を変更できます。これは停止、再起動をせずに変更の結果をすぐ確認できるので、とても便利です。ゲームプレイを終えると、変数の値は 実行する前の値にリセットされます。これにより、取り返しのつかないミスを恐れる事無く、自由にオブジェクト設定を調整することが可能になります。