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

相关推荐
m0_552200821 天前
《UE5_C++多人TPS完整教程》学习笔记48 ——《P49 瞄准偏移(Aim Offset)》
c++·游戏·ue5
m0_552200822 天前
《UE5_C++多人TPS完整教程》学习笔记49 ——《P50 应用瞄准偏移(Applying Aim Offset)》
c++·游戏·ue5
m0_552200822 天前
《UE5_C++多人TPS完整教程》学习笔记50 ——《P51 多人游戏中的俯仰角(Pitch in Multiplayer)》
c++·游戏·ue5
CandyU22 天前
UE5 基础应用 —— 09 - 展示类小项目
ue5
vonlycn2 天前
UE5 性能优化(1) 模型合并,材质合并
ue5·材质
ue星空2 天前
月2期学习笔记
学习·游戏·ue5
曼巴UE53 天前
UE5 制作游戏框架的部分经验积累(持续更新)
游戏·ue5
CandyU24 天前
UE5 基础应用 —— 10 - 控制台命令
ue5
平行云7 天前
Paraverse平行云实时云渲染助力第82届威尼斯电影节XR沉浸式体验
unity·云原生·ue5·xr·实时云渲染
一眼万里*e7 天前
用ai写了个UE5插件
c++·ue5