Unreal Engine 4 藍圖之自定義事件

UE4的藍圖就跟C++等編程語言在概念上是非常類似的。在藍圖中你可以定義變量、函數、宏等等,高級點的,它還可以被繼承。這還不算,我們還可以定義藍圖接口,規範子類的行爲。基本上C++中可以做的,藍圖也可以做到,而且是所見即所得,拖拖拽拽,即時編譯,立即生效。

一般的做法是,程序員在C++中做好功能模塊,關卡設計師,用藍圖創建遊戲的邏輯,關卡師不需要會編程、可以自己創建邏輯,至少在邏輯這一層不需要程序員來配合。這樣的效率會高很多,而且也沒有類似Lua這樣的腳本語言參與,設計師的門檻要低很多了。

這裏記錄下藍圖中自定義事件的使用方法:

在藍圖的工具欄上,我們可以看到5個按鈕,通過這5個按鈕我們可以分別創建多種藍圖的元素。



通過在藍圖中右鍵、添加事件-》添加自定義事件,可以創建一個自定義事件。自定義事件可以指定輸入參數、還可以指定事件是否能在客戶端和服務器端同步。


複製那裏有四個選項,默認是不能複製,還可以選擇多路傳送、在服務器上運行、在其所屬的客戶端上運行,如果需要讓事件在網絡上傳送,可以選這幾個選項。

輸入值一欄可以添加參數,類型和變量類型一樣。

我們來做個例子,實現當按下K按鍵時,觸發這個自定義事件,打印一句Hello。


觸發自定義事件,就像調用函數一樣,直接調用即可,如果有參數,也可以像函數一樣指定參數。

我們還可以動態的綁定將事件綁定到不同的調度器,就像高級編程語言中的Delegate一樣。比如這樣一個例子,我們按下K,爲調度器綁定MyEvent,按下F,爲調度器綁定MyEvent1,同樣是調用同一個調度器,觸發的行爲是不同的。


發佈了69 篇原創文章 · 獲贊 32 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章