public:公開變數,能在操作介面上更改變數,屬自我獨立,可從其他腳本呼叫及更改。
private:隱藏變數,不能在操作介面上更改變數,屬自我獨立,不可從其他腳本呼叫及更改。
static public:全域公開變數,不能在操作介面上更改變數,屬全域共有,可從其他腳本呼叫及更改。
解釋,自我獨立只存在於物件的腳本上,要呼叫或改變時需要指定物件及腳本才可更改變數,而全域共用例外,可直接在任何腳本呼叫掠過物件指定,不需要 gameObject.GetComponent<"腳本名">(); 來呼叫,如:"腳本名"."全域變數名"。
腳本範例
A腳本
public int A = 1;
static public int B = 9;
B腳本
print(gameObject.GetComponent<"腳本A">(A));
print("腳本A".B)
訊息會顯示1跟9,這是兩個腳本放在一個GameObject,如果是其他GameObject的話要額外指定。
指定變數的項目
int:數量單位,一定要整數。
float:數量單位,不一定要整數。
GameObject:物件。
Vector2:向量X、Y輸入方式為(100,200)
Vector3:向量X、Y、Z。
string:字。
整體範例及說明
public int NumberTest = 2;
公用變數 名稱為NumberTest 是個整數的數量單位,先指定為2(預設為0)
主要說明 static public 在有總數值腳本操作時,在很多副本穿梭的固定幾個會變動的共有參數時,能快速抓取如果一開始寫程式前有規劃好數值變動的狀況可以方便使用,個人經常在之前設計的敵我雙方攻防計算加成...等都放在敵方跟我方做計算再把數值丟給總數值控制的腳本,有人會想為什麼這樣做呢?當少量敵方做計算不用管制是還可以的,但開始高量或不只單單幾個數值時整體會相當混亂,抓取BUG跟問題會有點亂,所以才做出這樣的管制系統,不過也是個人寫程式的問題吧,笑~以上個人基本的變數用法。