UE4之單播委託

2021-10-08 05:46:33 字數 985 閱讀 4145

參考:

實現乙個簡單的demo,主要通過拉近拉遠來實現燈光的控制。

實現邏輯如下:

定義乙個委託:

這裡我定義的是乙個有引數的委託

declare_delegate_oneparam(mydelegate,bool)

/** *

*/uclass()

class tarraytest_api atarraytestgamemodebase : public agamemodebase

;

實現觸發函式:這裡主要通過executeifbound在呼叫委託

void amytrigger::notifyactorbeginoverlap(aactor* otheractor)	}}

void amytrigger::notifyactorendoverlap(aactor* otheractor)

}}

繫結委託:

void atriggerlistener::beginplay()

}}

解綁委託

void atriggerlistener::endplay(eendplayreason::type eendplayreason)

}}

委託的實現函式:

void atriggerlistener::enablelight(bool enable)

另外能賦值給委託的函式,需要加上ufunction() 

看我的定義:

ufunction()

void enablelight(bool enable);

UE4之Delegate 動態單播

定義 define func concat va args 定義乙個動態單播,uht會根據body macro combine生成乙個file id line delegate巨集,這個函式留到後面說。先看func declare dynamic delegate 巨集定義 define func ...

UE4 事件委託

1 先在標頭檔案上面宣告乙個 名字要以f開頭 宣告乙個事件委託 第乙個引數事件的名稱 自己定義 後面的引數是事件所需要的引數 因為有6個引數 所以新增 sixparams declare dynamic multicast delegate sixparams fonhealthchangesign...

UE4委託入門

ue4在delegatecombinations.h定義了各種型別的委託給我們使用。主要型別有 單播委託 多播委託 動態委託 可返回值委託 不同型別委託有的也可以組合出現。指的是只能繫結乙個函式的委託,函式名字中不含multicast。declare delegate oneparam單引數委託 d...