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_函数名调用。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站标题:Unreal中Interface接口的使用-创新互联
本文来源:http://myzitong.com/article/djoiii.html