一.首先在APawn里声明 UENUM 和 USTRUCT。UENUM 有两种定义方式
一种是使用命名空间:
还有是继承uint8: 通过申明class类 别名来替代
USTRUCT的定义 上面的第二种有类似但仍然有很多的差异:
首先要有GENERATED_USTRUCT_BODY()这个函数
并且参数要有 宏定义UPRPERTY
二.在 AMyPawn 里定义
Enum的第一种 将命名空间里的枚举作为属性
(使用TEnumAsByte<命名空间:枚举> 定义的名字)
效果如下:
Enum的第二种 enum class类(EMyTestEnum)作为 属性
效果如下:
Struct的 类似 将FMyTestStruct的结构体直接使用
效果如下:
蓝图里也可对两者属性进行读写 因为BlueprintReadWrite
这就是两者的最基本的用法。