Unity C# Tip 1 | static 靜態欄位妙用

2022/11/04閱讀時間約 2 分鐘

前言

  這篇文章將會講述 static 的小技巧,讓常用的欄位不用重複指定或拖拉。

Static | 靜態變數

  在程式設計的環節,我們有一些變數固定不變,這個時候我們會添加上關鍵字 static 讓它變成靜態變數,這種變數不會被任何東西改變,雖然說 Unity 有內建,不過假設需要圓周率,就可以把它變成靜態變數,這種情況它就不會被任何東西改變期內容。

預期用法

  因此靜態變數聽起來很適合那些重複使用但永遠不會改變的東西,譬如說程式腳本,我們可以讓程式腳本的宣告變成靜態變數,之後就可以在其他程式腳本中抓取這個靜態變數,不需要重新指定。

問題困境

  我在第一次嘗試的時候,發現靜態變數的資料會完全從程式腳本中消失,也不會顯示在 Inspector 中,花了滿長一段時間後放棄了,直到某一天有人跟我分享一個作法,也就是今天的小技巧。

小技巧 | 程式腳本靜態化

  會顯示在 Inspector 中的資料,只有 public 或 序列化的 private ,靜態變數並不會顯示在裡面,然而我們可以把程式腳本序列化。

步驟

1. 創建一個程式腳本,命名為 GameMannager。
2. 創建一個 GameMannager 的靜態欄位,命名為 gameMannager。
3. 使用 Awake(); 函式,讓 gameMannager 抓取自己。
4. 創建 public 欄位,這可以是任何變數 (程式腳本、遊戲物件、組件等等)。
5. 在 Unity Inspector 中指定對象。
6. 完成,當我們新增程式腳本,都可以直接呼叫 GameMannager 的公用變數「GameMannager.gameMannager.(公用變數)」呼叫,不需要重複指定。

後記

  最近很忙,之後應該會好一點,這次是把我學習到的一個很重要的小技巧給分享上來,如果很常查看 Youtube 的教學應該會知道,這是我同學分享給我的一個技巧,我覺得不錯就寫成文章了。

瓶裝雪

贊助創作者百元,就抽 $8,888 紅包與好禮!
設計資歷越久,越能感到設計的龐大與通用性」在2020年9月,我成為一名大學生,在經營方格子的同時,往設計師邁進,未來希望專攻遊戲程式與企劃。
對設計師如何成長為設計師好奇嗎? 2020年九月,我進入大學學習當一位設計師,從開始到沉寂,再到重燃熱忱,我將在方格子紀錄我的成長歷程、理念、心情,分享我在這段旅程中所經歷的故事。
留言6
查看全部
如果要發表留言,請先登入註冊會員
打造你的創作天地
在這裡尋找共鳴,與方格子的 35 萬格友分享觀點與生活。
領取見面禮
只要設定追蹤作者,即可享有 48小時
Premium 閱讀權限