BlueprintImplementableEvent和BlueprintNativeEvent

在C++代码中我们可能会遇到这两个对函数的定义

复制代码
UFUNCTION(BlueprintImplementableEvent, Category = "TEST")
void testFunc1()


UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "TEST")
void testFunc2()

BlueprintImplementableEvent修饰的函数,函数体必须在蓝图中实现,C++不能写函数体。为的是让C++中能调用蓝图实现的方法,换句话说是可以让c++触发蓝图事件。

BlueprintNativeEvent修饰的函数,C++和蓝图中都可以实现函数体,C++中的函数体必须是

复制代码
void UMyClass::testFunc2_Implementation()
{
    // C++ 默认行为
}

蓝图中的实现可以覆盖c++实现,当蓝图覆盖实现时,C++的Implementation不会调用,除非在蓝图中主动调用Parent。

如果 C++ 必须要有默认逻辑 → 使用 BlueprintNativeEvent

例如 AI 行为、角色事件、系统机制。

如果完全由蓝图设计 → 使用 BlueprintImplementableEvent

例如 UI 动画、按键响应、触发器效果。

相关推荐
‎ദ്ദിᵔ.˛.ᵔ₎1 小时前
c++11:fuction包装器
开发语言·c++
霍霍的袁2 小时前
【C++】哈希表实现指南:从原理到开放定址法、链地址法的实现
c++·学习·哈希算法·散列表·visual studio
WL学习笔记3 小时前
类和对象(下)
c++·类和对象
傲世仙尊4 小时前
拷贝构造-传值传参的连锁反应与隐式函数的三个局限
c++
垆边人似月.4 小时前
华为机试题 :最大数
c++·算法·华为
方便面不加香菜4 小时前
C++ 关于多态的知识点讲解
开发语言·c++
jimy15 小时前
C++ 类成员函数的内联定义(inline)详解
开发语言·c++
sanqima5 小时前
CreateThread、_beginthreadex、AfxBeginThread三种线程创建的区别与联系
c++·tls·线程创建
sanqima5 小时前
依赖TLS和模块状态的MFC类
c++·mfc·tls·module state
All for pursuit.5 小时前
【动态规划-11】279.完全平方数
数据结构·c++·算法·leetcode·动态规划