スクリプトの作成と使用
コンポーネントによりゲームオブジェクトを制御

変数とインスペクター

スクリプトを作成すると、原則として他のコンポーネントと同じようにゲームオブジェクトにアタッチできる、独自の新しいコンポーネントを作成できるようになります。

インスペクターで編集可能なプロパティーを持つ他のコンポーネントと同様に、自分で作成したスクリプトも、インスペクターから編集することでスクリプト中の変数の値を変更できます。

using UnityEngine;
using System.Collections;

public class MainPlayer : MonoBehaviour {
    public string myName;
    
    // Use this for initialization
    void Start () {
        Debug.Log("I am alive and my name is " + myName);
    }
    
    // Update is called once per frame
    void Update () {
    
    }
}

このコードは、インスペクター上では “My Name” と表示され、編集可能なテキストフィールドとなります。

Unity は、変数名に大文字がある場合、スペースを足してインスペクターのラベルに表示します。これは表示のために使用されるだけなので、コード内では必ず通常の変数名を扱う必要があります。名称を変更して 再生ボタンを押すと、入力したテキストを含むメッセージが表示されます。

C# では、インスペクターに表示するためには変数を public にする必要があります。UnityScript では、デフォルトで public 扱いになるので private を指定しない限りインスペクターに表示されます。

#pragma strict

private var invisibleVar: int;

function Start () {

}

Unity ではゲームの実行中にスクリプト変数の値を変更できます。これは停止、再起動をせずに変更の結果をすぐ確認できるので、とても便利です。ゲームプレイを終えると、変数の値は 実行する前の値にリセットされます。これにより、取り返しのつかないミスを恐れる事無く、自由にオブジェクト設定を調整することが可能になります。

スクリプトの作成と使用
コンポーネントによりゲームオブジェクトを制御