參考:
實現乙個簡單的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...