一、结构体
-
由于蓝图特殊,普通的结构体定义无法被蓝图访问,我们需要借助 USTRUCT 宏进行构建UE中的结构体
USTRUCT(BlueprintType)
//借助 USTRUCT宏 构建结构体,(BlueprintType:在蓝图中使用)
struct FStructName
// 结构体名称必须使用F开头
{
GENERATED_USTRUCT_BODY();
//再带一个操作宏
int32 X;
int32 Y;
}
二、枚举
-
构建枚举的两种方法
//.h文件中
//第一种方式:空间构建枚举
UENUM(BlueprintType)
//宏标记(BlueprintType将类型暴露到蓝图中使用)
namespace sColor
{
enum Type
{
Red,
Blue,
Yellow,
};
}
//.h文件中
//第二种方式:构建枚举
UENUM(BlueprintType)
enum class EColor :uint8
{
Red,
Blue,
};
//.cpp文件中
//第一种方式构建枚举的两种定义方式:
//① 定义枚举(只能在C++中使用,不能在蓝图中使用)
//使用空间名称作为访问依据,可以更清晰的标明意图,方便使用
sColor::Type Etype;
//② 定义枚举(既可以在C++中使用,也可以在蓝图)
//将变量暴露到蓝图中使用,必须要加 UPROPERTY 相应的宏标记
UPROPERTY(EditAnyWhere,BlueprintReadWrite)
TEnumAsByte<sColor::Type> Color;
//.cpp文件中
//第二种方式定义枚举:
//可以暴露到蓝图中使用,但需要对应的宏标记
UPROPERTY(EditAnywhere, BlueprintReadWrite);
EColor ColorType;
三、UMETA 宏
-
可以帮助枚举名进行蓝图别名创建,方便在蓝图中寻找操作(空间声明枚举的方式不适用)
UENUM(BlueprintType)
//必须加上
enum ZQState
{
Game UMETA(DisplayName = 'ZWJ')
};
总结
以上就是今天要讲的内容,本文仅仅简单介绍了结构体与枚举的使用。