1、结构体
- 在虚幻C++中结构体和普通C++结构体构建方式相同,但是如果希望构建于蓝图交互的结构体则需要额外的处理!
- UE支持结构体的构建和使用,但是由于蓝图特殊,普通的结构体定义无法被蓝图访问,我们需要借助USTRUCT宏进行构建UE中的结构体
语法:
USTRUCT(BlueprintType) struct FBoxPosition { GENERATED_USTRUCT_BODY() int32 x; int32 y; };
注意:结构体名称必须使用 F 开头,必须带两个操作宏,如需要在蓝图中使用,需要加入BlueprintType标记
2、枚举
语法与C++相同,总的来说可以使用以下两种方式进行构建
添加宏记可以使枚举在蓝图中也可使用
第一种:空间构建方式
UENUM(BlueprintType)
namespace GColor { enum Type { Blue, Red }; }
使用:
GColor::Type::Blue;
特点:使用空间名称作为访问依据,可以更清晰的标明意图,方便使用。
第二种:直接创建
UENUM(BlueprintType)
enum class ZColor : uint8 { ERed, EBlue };
使用:
ZColor::EBlue;
定义枚举对象:
UPROPERTY(EditAnywhere) TEnumAsByte<GColor::Type> Color;
定义枚举
UPROPERTY(EditAnywhere)
GColor Color;
为枚举在蓝图中创建别名
可以帮助枚举名进行蓝图别名创建,方便在蓝图中寻找操作(空间声明枚举的方式不适用)
UENUM(BlueprintType) enum class ZColor : uint8 { Game UMETA(DisplayName = "GC") };
标签:蓝图,BlueprintType,C++,枚举,UE,结构 From: https://www.cnblogs.com/limu-zy/p/16707733.html