虚幻引擎基础入门(C++) — 【结构体与枚举 07】

一、结构体

  1. 由于蓝图特殊,普通的结构体定义无法被蓝图访问,我们需要借助 USTRUCT 宏进行构建UE中的结构体

USTRUCT(BlueprintType)
//借助 USTRUCT宏 构建结构体,(BlueprintType:在蓝图中使用)

struct FStructName
// 结构体名称必须使用F开头
{
    GENERATED_USTRUCT_BODY();
    //再带一个操作宏

    int32 X;
    int32 Y;
}

二、枚举

  1. 构建枚举的两种方法

//.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 宏

  1. 可以帮助枚举名进行蓝图别名创建,方便在蓝图中寻找操作(空间声明枚举的方式不适用)

UENUM(BlueprintType)
//必须加上

enum ZQState
{
    Game UMETA(DisplayName = 'ZWJ')
};

 

总结

以上就是今天要讲的内容,本文仅仅简单介绍了结构体与枚举的使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值