privateとpublicの違いについて図付きで説明
はじめに
privateとpublicはunity初見には意味不明です.
でも視覚的に見れば「なるほど」となります.今回はその例です.
本題
privateとpublic
publicとしてa
privateとしてbを宣言してみます.
Test.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour {
//オブジェクトを回転させるだけのスクリプト
public float a;
private float b=10.0f;
void Update () {
this.transform.Rotate (0, a, b);
}
}
Test.csスクリプトはオブジェクトを回転させるだけの簡単なものです.
aとb,この二つがどのように異なるかです.
言うなれば,privateは文字通りプライベートで,そのスクリプト(class)でしか使わない変数にさせるのです.
言うなれば,publicは文字通りパブリックで,そのスクリプト(class)以外でも干渉できる変数にさせるのです.
unity上では特にそれがコンポーネント上に表示されます.
これ,とても便利なのです.
数値だけでなく,任意のオブジェクトやファイルを引用することもできます.
実行例1
実行
x軸回転はしません.aは0なので.(gif画像が動いてなければ横回転しているのだと思ってください)
次に,コンポーネント上でaの値を10に変えて実行してみます.
実行例2
実行
(gif画像が動いてなければ斜め横回転しているのだと思ってください)
デバッグなどにも使えそうです.
まとめ
private:変数を,そのスクリプト(class)でのみ使う指定をする
public:変数コンポーネント上で自由に扱うことできる指定をする
次回あたり,publicの更なる便利さを述べていきたいと思います.