Unity 公開全域變數
- 靜寒
- Apr 8, 2021
- 1 min read
全域的變數資料存取,不會因為跨場景而重啟數值,但這篇資料內容僅適用於小遊戲或一次性遊戲跨關卡(場景)的資料存取,數值若在沒有使用KEY或PlayerPrefs等方式存檔的話,在程式取消執行後會重新設置。

靜態類別(class)
在專案內建立C#程式,不需要將程式掛到場景的空物件上即可使用。
原程式格式
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class 程式名稱 : MonoBehaviour {
void Start () {
}
void Update () {
}
}
修改過後
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
static class 程式名稱
{
public static 變數類別 變數名稱 = 對應變數類別的宣告資料;
//設定公開全域變數
public static int blood = 100;
public static bool switch =true;
//範例
}
更多變數資料型態可以參考這篇
之後當其他程式需要呼叫(辨識)公開變數時,只需要照(程式名稱.變數名稱)輸入即可存取
範例
void OnCollisionEnter(Collision collision){
gamedata.blood += 5;
//呼叫gamedata內的blood變數,增加5
}
參考資料來源:SmomoGame Unity 在場景間傳遞數值
Comments