当前位置: 首页 > news >正文

Unreal中Interface接口的使用

通过继承Unreal中的接口可以使不同的类有某种共同特性,这里记录一下接口的使用方式。Unreal中的接口分为两种:C++接口和蓝图接口,C++接口可在蓝图中使用;蓝图中的接口不能直接在C++中使用,这里探究一下他们的关系:

1.C++的接口在C++中使用:

新建C++类,继承UnrealInterface:

接口中可以声明虚函数或者纯虚函数:

赋值为0即为纯虚函数,子类必须实现纯虚函数:

非纯虚函数可以在父类中实现,子类自由选择是否重写:

调用:

2.蓝图中使用蓝图接口:

新建蓝图接口,继承BlueprintInterface:

声明接口函数TestInterface:

在蓝图Actor中添加蓝图接口TestBlueprintInterface:

actor蓝图自动从接口中生成事件,可以在此事件中编写要执行的逻辑:

3.在蓝图中使用C++接口,需要给接口函数添加BlueprintImplementableEvent或者BlueprintNativeEvent和BlueprintCallable标记:

当C++Actor继承此接口,然后蓝图Actor继承C++Actor时,接口位于继承接口面板中:

此时可以选择是否重写父类中的BlueprintNativeEvent。

当蓝图actor直接实现C++接口时,接口位于ImplementedInterface面板中,并需要重写接口函数:

注意,蓝图类通过上面这种方式的接口实现,无法在C++中直接调用,只能判断当前类是否实现了此接口,而不能转换接口类型成功:

纯蓝图类实现的接口在C++中只能通过GetClass()->ImplementsInterface(U接口类:StaticClass)查询,而不能转换接口类型成功,也就是上面红框内不会执行;而C++或继承C++类实现接口的类如CustomActor可以转换成功。注意,C++调用给蓝图用的函数,要通过Excute_函数名调用。

相关文章:

  • wordpress图片不清晰/百度可以发布广告吗
  • 网站建设走的路线风格/网络销售平台
  • 求哪位大神发人和动物做愛视频网站/百度如何搜索网址
  • 网站的pdf预览是怎么做的/浙江seo关键词
  • 做网站包括什么条件/今日小说排行榜百度搜索榜
  • 网站制作软件培训/建网站费用
  • 硬件仿真加速器与原型验证平台
  • SymPy符号运算库与latex数学公式
  • 【小白向】让电脑成为热点WIFI
  • mysql常用操作记录
  • P5587 打字练习————C++
  • 2022年Tesla技术分享
  • 详解数据库的锁机制及原理
  • Java实现doc、ppt、pdf和视频的缩略图
  • 《Linux Shell脚本攻略》学习笔记-第六章
  • Tomcat打破双亲委派模型
  • A. Parallel Projection codeforces 1782A
  • echarts柱状图值为0是不显示以及柱状图百分比展示