找回密码
 立即注册
查看: 309|回复: 0

UE4 C++学习笔记 -- 动态委托与蓝图交互

[复制链接]
发表于 2022-5-7 16:54 | 显示全部楼层 |阅读模式
一、动态委托的定义:

    //动态委托
    DECLARE_DYNAMIC_DELEGATE(FWDE_Dy_Sl_Zero);
    //带一个参数的动态多播
    DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FWDE_Dy_Sl_One, FString, InfoStr);

二、绑定委托

使用的时候 只有 多播委托(MULTICAST) 可以作为变量给蓝图绑定调用,普通委托不可以使用 BlueprintAssignable

    UPROPERTY(BlueprintAssignable, Category = "FrameWork")
    FWDE_Dy_Sl_One FDSZFun;

普通委托可以作为函数参数使用:

    //委托变量作为参数
    UFUNCTION(BlueprintCallable, Category = "FrameWork")
    void RegFunDel(FWDE_Dy_Sl_Zero TargetFun);

三、调用委托

在需要的地方使用Boradcast()来调用委托

    Void AFWDEActor::BeginPlay()
    {
        Super::BuginPlay();
        // Broadcast()是ExecuteIfBound()的多播版本,不管是否添加了绑定,Broadcast()都可以被调用
        FDSZFun.Broadcast();
    }
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-9-22 12:51 , Processed in 0.114625 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表