Unity C# | Unity Event

更新 發佈閱讀 3 分鐘

前言

這篇文章將會講述 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方法一样》

後記

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

瓶裝雪

想了解我更多嗎?

留言
avatar-img
瓶裝雪的沙龍
117會員
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
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
這篇文章將會講述 Unity 自帶參數的功能,在撰寫時要怎麼進行封裝。
Thumbnail
這篇文章將會講述 Unity 自帶參數的功能,在撰寫時要怎麼進行封裝。
Thumbnail
這篇文章將會講述如何使用程式腳本讀取 Input System 的玩家輸入。
Thumbnail
這篇文章將會講述如何使用程式腳本讀取 Input System 的玩家輸入。
Thumbnail
UnityEvent 簡單介紹。
Thumbnail
UnityEvent 簡單介紹。
Thumbnail
在搞清楚事件委託前必須先了解什麼是事件傳遞機制(Event Propagation),也就是捕獲(capture)跟冒泡(bubble),聽起來好像很難但是我昨天看完彭彭的直播課程(17:00開始)後就懂了!我寫成文章幫助記憶,也希望能幫助到大家,然後希望我面試會被考到。
Thumbnail
在搞清楚事件委託前必須先了解什麼是事件傳遞機制(Event Propagation),也就是捕獲(capture)跟冒泡(bubble),聽起來好像很難但是我昨天看完彭彭的直播課程(17:00開始)後就懂了!我寫成文章幫助記憶,也希望能幫助到大家,然後希望我面試會被考到。
Thumbnail
這篇文章將會講述 Unity Event 的介紹及基礎使用方法。
Thumbnail
這篇文章將會講述 Unity Event 的介紹及基礎使用方法。
Thumbnail
這篇文章將會講述使用 C# 的類( Class ) 來讓欄位模組(module)化。
Thumbnail
這篇文章將會講述使用 C# 的類( Class ) 來讓欄位模組(module)化。
Thumbnail
前言   這篇文章將會講述碰撞事件的撰寫,跟碰撞事件有關的函式共有六種,分別為 OnCollisionEnter/Stay/Exit 和 OnTriggerEnter / Stay /Exit ,本篇文章將會講述通用的邏輯。 Collider | 碰撞體   在之前我從組件(Component)和程
Thumbnail
前言   這篇文章將會講述碰撞事件的撰寫,跟碰撞事件有關的函式共有六種,分別為 OnCollisionEnter/Stay/Exit 和 OnTriggerEnter / Stay /Exit ,本篇文章將會講述通用的邏輯。 Collider | 碰撞體   在之前我從組件(Component)和程
Thumbnail
介紹 委派 透過委派可以實現把方法作為參數傳遞 從範例可以看出我們將DoNothing當成參數在傳遞 📷 事件 事件:是帶event關鍵字的委派的實體,可以限制變數被外部直接使用/直接賦予值(安全保障) 特點: 不能直接Invoke() 不能 賦予 null => = null 委派是一個類型
Thumbnail
介紹 委派 透過委派可以實現把方法作為參數傳遞 從範例可以看出我們將DoNothing當成參數在傳遞 📷 事件 事件:是帶event關鍵字的委派的實體,可以限制變數被外部直接使用/直接賦予值(安全保障) 特點: 不能直接Invoke() 不能 賦予 null => = null 委派是一個類型
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News