Version: 2021.2
スクリプトの作成と使用
ランタイムのプレハブのインスタンス化

変数とインスペクター

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

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

using UnityEngine;
using System.Collections;

public class MainPlayer : MonoBehaviour 
{
    public string myName;
    
    // これを初期化に使用
    void Start () 
    {
        Debug.Log("I am alive and my name is " + myName);
    }
}

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

The Inspector might display variable names differently to how you define them in a script if the name conforms to one of a set of rules:

  • Removes “m_” from the beginning
  • Removes “k” from the beginning
  • Removes “_” from the beginning
  • Capitalizes the first letter
  • Adds a space between lowercase and uppercase characters
  • Adds a space between an acronym and an uppercase character at the beginning of the next word

There are some special cases, such as “iPad” or “x64”, where these rules are not applied.

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

In C#, the simplest way to see a variable in the Inspector is to declare it as public. An alternative method is to use SerializeField. Conversely, you can use HideInInspector to prevent a public variable from being displayed in the Inspector.

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

スクリプトの作成と使用
ランタイムのプレハブのインスタンス化