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

相关推荐
weixin_4046793111 小时前
虚幻5电子书
ue5
directx3d_beginner1 天前
5,动画蓝图类接口转c++
ue5
RuiZN1 天前
UE5 蓝图 FPS 02 Event Beginplay
c++·ue5
RuiZN1 天前
UE5 蓝图 FPS 01 Event Tick
c++·ue5
directx3d_beginner2 天前
6,执行攻击改为c++
ue5
平行云2 天前
实时云渲染预启动技术解析:UE数字孪生应用的延迟优化机制(二)
linux·unity·ue5·webgl·实时云渲染·云桌面·像素流
RuiZN2 天前
UE5 UObject类详解
c++·ue5
平行云2 天前
实时云渲染预启动技术解析:UE数字孪生应用的延迟优化机制(一)
linux·ue5·webgl·数字孪生·云渲染·实时云渲染·像素流
RuiZN3 天前
UE5 UObject和反射
c++·ue5
远离UE44 天前
UE5 如何在延时渲染在材质编辑器提前使用到多灯光的数据
ue5·编辑器·材质