Unity C# | 使用類(Class)將欄位模組化

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

前言

  這篇文章將會講述使用 C# 的類( Class ) 來讓欄位模組(module)化。

Class | 類別

  適用方法(function)、屬性(Property)、事件(Event)、欄位(Field)等成員的容器,如果是具狀態物件的方法就必須要用到new關鍵字,或是直接呼叫不具狀態的方法。

  如果對於類別不了解,可以參考我之前寫的一篇文章,裡面講述了不少關於C# 的基本知識彙整,也可以到 Microsoft 官方查看。

《Microsoft C# |基礎知識彙整 2》

模組化 | 不需要一直宣告

  如果已經開始寫程式了,那有一些事情應該會困擾你,譬如說同樣的欄位宣告在每一份程式腳本中都需要,而他本身就是陣列了,每一次要使用都要回去腳本複製貼上,相當麻煩,且不易維護。

流程

  1. 新增一個腳本,在內建的類(Class)外,也就是在 MonoBehaviour 的程式碼區塊外創建一個公用的類。

2. 在這個類中,添加重複率極高的變數,譬如血量、魔力、耐久度等等,或是名稱和 ID 等等基本資料欄位。

3. 當作普通程式腳本連結方式來使用就可以了,宣告並讓它顯示在 Inspector中,宣告幾次就有幾份相同架構的東西。

4. 完成!如果有需要,還可以使用陣列來處理這些資料,讓架構本身用陣列的形式陳列。

P.s 新增的類不要做任何計算或函式,不是不可以,只是沒必要。

應用

  模組化可以幫助程式員很好的進行快速架構,如果你是一位比較能舉一反三的人,那你可能會想到能藉此快速製作好工具包,沒錯,就是這樣,不過這是一個大工程,等到未來能用程式寫遊戲邏輯後再考慮吧!

  接下來我會舉例常見的使用方式,總共有道具清單、角色清單、對話文本。

道具清單

  在道具的資訊中,常常有道具的名稱、道具效果說明、道具 ID 、如果遊戲有經濟系統,還能安置經濟,可以模組化道具資訊,並讓每一個生成或放置在遊戲中的物件都帶有這些欄位。

角色清單

  在角色的資訊中,常常有角色的名稱、角色職業、角色 ID 、如果有戰鬥系統,那可能還有生命魔力經驗值等等,可以模組化這些資訊,當創建一位新的角色或程式腳本,可以直接套用這份基礎欄位,再額外寫新的欄位。  

對話文本

  對話事件同樣也能使用模組化來進行撰寫,可以開文字欄位跟事件 ID,當我們需要呼叫某一個事件的時候,直接抓取不同事件的 ID 就會播放了,而對話可不只一句,因此可以使用陣列來工作。  

後記

  不過,模組化只適用於資訊量不夠大到需要資料庫,並且也沒有小到可以複製貼上就解決的時候才會使用,而我自己也不推薦新手在撰寫前幾款遊戲時使用需要模組化的任何一種程式撰寫方式,所以瞭解有這種作法其實就夠了。

瓶裝雪

想了解我更多嗎?



留言
avatar-img
留言分享你的想法!
avatar-img
瓶裝雪的沙龍
108會員
247內容數
對設計師如何成長為設計師好奇嗎? 2020年九月,我進入大學學習當一位設計師,從開始到沉寂,再到重燃熱忱,我將在方格子紀錄我的成長歷程、理念、心情,分享我在這段旅程中所經歷的故事。
瓶裝雪的沙龍的其他內容
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
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
C# 9.0 給 Unity 程式設計上帶來的便利
Thumbnail
C# 9.0 給 Unity 程式設計上帶來的便利
Thumbnail
這邊要來跟大家介紹C#,使用的軟體會是Visual Studio 2017版本 介紹內容架構可以分六大階段:入門級、基礎級、中低階級、中階級、中高階級、高階級 在正式開始寫程式前,要先了解一些基本概念哦! 就如同學中文前要先了解ㄅㄆㄇㄈ或羅馬拼音之類的,程式也是一樣道理,先把基本概念了解後再來開始
Thumbnail
這邊要來跟大家介紹C#,使用的軟體會是Visual Studio 2017版本 介紹內容架構可以分六大階段:入門級、基礎級、中低階級、中階級、中高階級、高階級 在正式開始寫程式前,要先了解一些基本概念哦! 就如同學中文前要先了解ㄅㄆㄇㄈ或羅馬拼音之類的,程式也是一樣道理,先把基本概念了解後再來開始
Thumbnail
這篇文章將會講述陣列泛型 List<T>的介紹及使用。
Thumbnail
這篇文章將會講述陣列泛型 List<T>的介紹及使用。
Thumbnail
這篇文章將會講述使用 C# 的類( Class ) 來讓欄位模組(module)化。
Thumbnail
這篇文章將會講述使用 C# 的類( Class ) 來讓欄位模組(module)化。
Thumbnail
這一篇文章將會從Microsoft的.NET Class Library開始介紹,在介紹具狀態和不具狀態,以及物件和new關鍵字。
Thumbnail
這一篇文章將會從Microsoft的.NET Class Library開始介紹,在介紹具狀態和不具狀態,以及物件和new關鍵字。
Thumbnail
本篇文章將會介紹C#的基礎構成和字串的使用,若想要更詳細的教學,可以參考前一篇文章,前往Microsoft官方教學學習。
Thumbnail
本篇文章將會介紹C#的基礎構成和字串的使用,若想要更詳細的教學,可以參考前一篇文章,前往Microsoft官方教學學習。
Thumbnail
本文章將會介紹結構(Struct)的定義、簡單介紹其應用,並且補充與序列化(SerializeFile)結合的方式。
Thumbnail
本文章將會介紹結構(Struct)的定義、簡單介紹其應用,並且補充與序列化(SerializeFile)結合的方式。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News