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

相关推荐
UTwelve7 小时前
【UE】使用 Shot 命令,在UE中完成截图,及Shot命令的参数设置
ue5
HAPPY酷15 小时前
UE5性能分析:追踪目录与分析目录的区别
ue5
UTwelve18 小时前
【UE】如何正确旋转法线贴图
性能优化·ue5·材质·贴图·着色器
伪善者1 天前
UE5 插件打包成DLL
ue5·打包
UTwelve4 天前
【UE】SDF - 使用有向距离场(Signed Distance Fields)整各种活-4-将图片制作为距离场图
ue5·photoshop·贴图·着色器
maplewen.5 天前
【UE】GAS 概述
ue5
dong1326975 天前
UE5动画(上)
ue5
吴梓穆5 天前
UE5 c++打印日志
开发语言·c++·ue5
吴梓穆5 天前
UE5 C++ 绘制图形调试宏
开发语言·c++·ue5
chudonghao5 天前
[UE学习笔记][基于源码] 理解 Gameplay
c++·笔记·学习·ue5