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

更新於 發佈於 閱讀時間約 3 分鐘

前言

  這篇文章將會講述 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 的教學應該會知道,這是我同學分享給我的一個技巧,我覺得不錯就寫成文章了。

瓶裝雪

想了解我更多嗎?






留言
avatar-img
留言分享你的想法!
avatar-img
瓶裝雪的沙龍
111會員
247內容數
你好,我是瓶裝雪!我是一名遊戲設計師!
瓶裝雪的沙龍的其他內容
2024/09/22
魔火術師是第三人稱動作射擊遊戲,屬於專題畢業製作,在畢業組成新的團隊後優化並上架。
Thumbnail
2024/09/22
魔火術師是第三人稱動作射擊遊戲,屬於專題畢業製作,在畢業組成新的團隊後優化並上架。
Thumbnail
2024/01/26
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。
Thumbnail
2024/01/26
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。
Thumbnail
2023/12/29
講述遊戲設計從新手到專業的發展方向。
Thumbnail
2023/12/29
講述遊戲設計從新手到專業的發展方向。
Thumbnail
看更多
你可能也想看
Thumbnail
這篇文章將會分享 Clean Code 關於函式的重點,內容主要以個人閱讀後有印象的部分著手,有興趣了解更多請自行購買這本書。
Thumbnail
這篇文章將會分享 Clean Code 關於函式的重點,內容主要以個人閱讀後有印象的部分著手,有興趣了解更多請自行購買這本書。
Thumbnail
這篇文章將會講述 Inspector 的簡易優化小技巧,並介紹系列文章。
Thumbnail
這篇文章將會講述 Inspector 的簡易優化小技巧,並介紹系列文章。
Thumbnail
這篇文章將會講述 static 的小技巧,讓常用的欄位不用重複指定或拖拉。
Thumbnail
這篇文章將會講述 static 的小技巧,讓常用的欄位不用重複指定或拖拉。
Thumbnail
這篇文章將會講述使用 C# 的類( Class ) 來讓欄位模組(module)化。
Thumbnail
這篇文章將會講述使用 C# 的類( Class ) 來讓欄位模組(module)化。
Thumbnail
前言   這篇文章將會介紹生成物件的五種多載說明和三種應用流程。 Instantiate | 生成遊戲物件   這個英文單字的中文翻譯為「實例化」,如果單純用於 GameObject 的話你可以叫他生成物件,不過 Instatiate 還有其他的功用,像是 Clone 腳本和泛型化,這個就不在我們今
Thumbnail
前言   這篇文章將會介紹生成物件的五種多載說明和三種應用流程。 Instantiate | 生成遊戲物件   這個英文單字的中文翻譯為「實例化」,如果單純用於 GameObject 的話你可以叫他生成物件,不過 Instatiate 還有其他的功用,像是 Clone 腳本和泛型化,這個就不在我們今
Thumbnail
這一篇文章將會從Microsoft的.NET Class Library開始介紹,在介紹具狀態和不具狀態,以及物件和new關鍵字。
Thumbnail
這一篇文章將會從Microsoft的.NET Class Library開始介紹,在介紹具狀態和不具狀態,以及物件和new關鍵字。
Thumbnail
本文章將會介紹結構(Struct)的定義、簡單介紹其應用,並且補充與序列化(SerializeFile)結合的方式。
Thumbnail
本文章將會介紹結構(Struct)的定義、簡單介紹其應用,並且補充與序列化(SerializeFile)結合的方式。
Thumbnail
本文以實際的程式碼來說明Value Type和Reference Type的差異,並介紹實用的除錯工具。
Thumbnail
本文以實際的程式碼來說明Value Type和Reference Type的差異,並介紹實用的除錯工具。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News