UE5 C++ Interface接口

一.创建接口

声明Attack() 和 Calculatehealth()虚函数

cpp 复制代码
UINTERFACE(MinimalAPI)
class UMyInterface : public UInterface
{
	GENERATED_BODY()
};

/**
 * 
 */
class PRACTICEC_API IMyInterface
{
	GENERATED_BODY()

	// Add interface functions to this class. This is the class that will be inherited to implement this interface.
public:
	virtual void Attack() {};
	virtual void CalculateHealth() {};
};

二.角色的C++类里继承接口

1.头文件设置 添加

cpp 复制代码
#include "MyInterface.h"  
cpp 复制代码
class PRACTICEC_API AMyCharacter : public ACharacter,public IMyInterface
cpp 复制代码
	//重写接口函数
	virtual void Attack() override;
	virtual void CalculateHealth() override;

2.在Character.cpp简单实现, 并在 BeginPlay里调用这两个函数

cpp 复制代码
void AMyCharacter::Attack()
{
	GEngine->AddOnScreenDebugMessage(-1,5.0f,FColor::Red,TEXT("Attack"));
}

void AMyCharacter::CalculateHealth()
{
	GEngine->AddOnScreenDebugMessage(-1,5.0f,FColor::Red,TEXT("Calculate "));
}

3.效果如下

相关推荐
AA陈超2 天前
虚幻引擎5 GAS开发俯视角RPG游戏 P06-29 属性信息委托
c++·游戏·ue5·游戏引擎·虚幻
AA陈超2 天前
虚幻引擎5 GAS开发俯视角RPG游戏 P06-31 映射标签到属性
c++·游戏·ue5·游戏引擎·虚幻
gshh__2 天前
SuperMap Hi-Fi 3D SDK for Unreal 使用蓝图接口加载多源数据
ue5·游戏引擎·supermap
zhangzhangkeji2 天前
cesium126,230331,Visualize Per-Feature Metadata - 1:官方教程
ue5
zhangzhangkeji2 天前
cesium126,230316,根据经纬度动态生成物体:主要使用了角色的 tag 属性,地球锚点也是有 tag 属性的
ue5
AA陈超3 天前
虚幻引擎5 GAS开发俯视角RPG游戏 P06-28 构建属性菜单小部件控制器
c++·游戏·ue5·游戏引擎·虚幻
zhangzhangkeji3 天前
UE5 材质-17:水材质系列一 ,panner 平移节点,
ue5·材质
zhangzhangkeji6 天前
UE5 蓝图-24:主 mainUI界面蓝图,主菜单按钮事件定义,拆分按钮,color按钮,退出按钮
ue5
zhangzhangkeji7 天前
UE5 蓝图-11:本汽车蓝图的事件图表,汽车拆分事件,染色事件(绿蓝黄青)。
ue5·1024程序员节
zhangzhangkeji8 天前
UE5 材质-18:水材质系列二 ,水岸接缝的美化节点 DepthFade,水面法线混合节点 BlendAngleCorrectedNormals
ue5