UE5 C++ UENUM 和 USTRUCT

一.首先在APawn里声明 UENUM 和 USTRUCT。UENUM 有两种定义方式

一种是使用命名空间:

UE5 C++ UENUM 和 USTRUCT_第1张图片

还有是继承uint8: 通过申明class类 别名来替代

UE5 C++ UENUM 和 USTRUCT_第2张图片

USTRUCT的定义 上面的第二种有类似但仍然有很多的差异:

首先要有GENERATED_USTRUCT_BODY()这个函数

并且参数要有 宏定义UPRPERTY

UE5 C++ UENUM 和 USTRUCT_第3张图片

二.在 AMyPawn 里定义

Enum的第一种 将命名空间里的枚举作为属性

(使用TEnumAsByte<命名空间:枚举> 定义的名字)

效果如下:

UE5 C++ UENUM 和 USTRUCT_第4张图片

Enum的第二种 enum class类(EMyTestEnum)作为 属性

效果如下:

UE5 C++ UENUM 和 USTRUCT_第5张图片

Struct的 类似 将FMyTestStruct的结构体直接使用

效果如下:

UE5 C++ UENUM 和 USTRUCT_第6张图片

蓝图里也可对两者属性进行读写 因为BlueprintReadWrite

这就是两者的最基本的用法。

你可能感兴趣的:(ue5)