開啟小鈴鐺通知
檢舉內容
Unity C# | Unity Event

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

前言

這篇文章將會講述 Unity Event 的介紹及基礎使用方法。

Unity Event | 你還記得 OnClick() 嗎?

  在使用 Button 的時候,是否還記得那個點擊按鈕,就能觸發掛載事件的 OnClick() 事件嗎?我們一樣能撰寫類似的系統,只需要簡單的借助 Unity內建的事件系統就可以了。

擴充性強

  在物件導向中,我們會希望每個物件彼此可以獨立,並且降低耦合性,使用這個程式組件,能讓我們建置好物件才決定要觸發哪個事件。

觸發器

  假設今天我們要製作一個觸發器,但我們還沒決定好要觸發哪一個事件,或是事件有太多,不希望用 Switch 一個個預先寫好,那會相當複雜,而且未來有新事件時,也會需要再寫一次。
  我們就能使用 Unity Event 來撰寫這一塊,當我們按下按鈕,觸發器會觸發一個空事件,這個空事件可以在外面掛載需要的其他事件。

運作原理

  它的運作原理來自於 Delegate 和 Event ,這兩個東西可以理解為訂閱跟直播主,因此直播主跟訂閱者彼此沒有關聯,不會因為訂閱者消失直播主就出現程式錯誤。
  我們要做的事情就是在 Unity Inspector 中用官方寫好的組件,去訂閱這一個 Unity Event ,那我們來看看怎麼製作。

製作流程

1. 在最上面輸入 「using UnityEngine.Events;」
2. 此時可以創建一個名為 UnityEvent 的類型,命名為AddEvent,權限設定為public。
3. 創建一個公用函式,命名為 MyEvent,裡面打上 「AddEvent.Invoke();」。
4. 我們可以在 Inspector 中拖曳其他物件的公開函式進來,當 MyEvent 被觸發的時候,我們新增的所有公開函式都會一起被觸發。
5. 完成,我們能用各種方式去呼叫這個 MyEvent,它會自行運作並通知所有訂閱它的使用者。

參考資料

《Unity API | UnityEvent

《UnityEvent使脚本像Button的onClick方法一样》

後記

  下周發表,我把我撰寫的其中一個重要的小知識寫進來了。

瓶裝雪

為什麼會看到廣告
Redd
Redd和其他 3 人喜歡這篇
illustration
贊助支持創作者,成為他繼續創作的動力吧!
瓶裝雪
瓶裝雪
82追蹤者
234內容數
設計資歷越久,越能感到設計的龐大與通用性」在2020年9月,我成為一名大學生,在經營方格子的同時,往設計師邁進,未來希望專攻遊戲程式與企劃。
對設計師如何成長為設計師好奇嗎? 2020年九月,我進入大學學習當一位設計師,從開始到沉寂,再到重燃熱忱,我將在方格子紀錄我的成長歷程、理念、心情,分享我在這段旅程中所經歷的故事。
留言0
查看全部
發表第一個留言支持創作者!
《遊設計》Unity C# 的其他內容
Unity Particle System | Circular wave
閱讀時間約 2 分鐘
Unity Component | Types of light
閱讀時間約 1 分鐘
Unity Preferb | Spring Platform
閱讀時間約 2 分鐘
Unity Preferb | What is Preferb?
閱讀時間約 3 分鐘
從 Google News 追蹤更多 vocus 的最新精選內容
你可能也想看