[UE4]蓝图和C++调用自定义函数

1、C++自定义方法,蓝图调用

    UFUNCTION(BlueprintCallable, Category = "MyFunc")
    void dosth();

UFUNCTION宏是处理将C++函数暴露给反射系统的一些事情,参数BlueprintCallable意味着这个函数可以在蓝图中调用,而后面的目录是必须有的,这样在蓝图中右键点击的时候,我们就可以根据这个目录找到我们需要的函数。
1

2、蓝图定义方法,C++调用

UFUNCTION(BlueprintImplementableEvent, Category="MyFunc")
void dosth();

当我们在蓝图中定义了一系列操作后,我们也想用C++调用,我们利用BlueprintImplementableEvent这个参数,让在C++定义的这个函数在蓝图中实现成为一个event。另外:我们只要在头文件声明这个方法即可,不用实现函数体,不然会报错。
我们在蓝图中,通过中这个event打印一句话。
2
在某些地方调用即可,这里我在Actor在BeginPlay()方法调用了dosth函数。

void AMyActor::BeginPlay()
{
    Super::BeginPlay();
    dosth();    
}

这里写图片描述 这里写图片描述

3、C++有默认方法,蓝图可以覆盖

    UFUNCTION(BlueprintNativeEvent, Category = "MyFunc")
    void dosth();

然后我们要实现一个方法。

void AMyActor::dosth_Implementation()
{
//do something
}

这样的话,如何蓝图没有实现dosth方法,那么我们就调用dosth_Implementation这个方法,如果蓝图实现了dosth,那么dosth_Implementation就不会调用。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值