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.效果如下

相关推荐
远离UE41 天前
UE5 Substrate Thin Film 源码拆析
开发语言·javascript·ue5
七仔啊2 天前
UE5源码下载及编译
ue5
Zhichao_973 天前
【UE5.8 MCP】接入AI大模型
ue5
曼巴UE54 天前
UE 属性同步
网络·c++·ue5
易知微EasyV数据可视化5 天前
UE5中添加 PNG/TIF 到 Cesium 地球表面方案
经验分享·ue5·数字孪生
GR905 天前
UE5 SetActorLocation背后发生了什么
ue5
成都渲染101云渲染66667 天前
云渲染怎么用?从项目准备到提交出图,3ds Max、VRay、UE5 实用教程
3d·ue5
directx3d_beginner10 天前
42,将移向指定位置改为c++
ue5
ue星空13 天前
UE5放了playstart显示badsize解决方案
ue5
directx3d_beginner14 天前
41,从UE5.1迁移到UE5.8排坑全记录
ue5