📅  最后修改于: 2023-12-03 15:05:42.287000             🧑  作者: Mango
在UE4中,枚举(Enum)是一种类型,它可以表示一组有限的值。它对于在代码中定义一组常量非常有用,可以提高代码的可读性并减少错误。
在C++中,定义枚举类型的语法为:
enum EnumName
{
Value1,
Value2,
// ...
};
在UE4中,定义枚举的语法与标准C++并无区别,可以直接在头文件中定义枚举:
// WeaponType.h
#pragma once
UENUM(BlueprintType)
enum class EWeaponType : uint8
{
Sword,
Bow,
Axe,
Hammer
};
上述代码定义了一个名为“EWeaponType”的枚举类型,表示武器类型。在UE4中,为了使枚举能够与蓝图配合使用,需要使用UENUM
宏,并指定类型为BlueprintType
。
定义枚举之后,我们可以使用它来声明变量:
EWeaponType CurrentWeapon = EWeaponType::Sword;
我们还可以使用switch语句来根据枚举值执行不同的代码:
switch (CurrentWeapon)
{
case EWeaponType::Sword:
// do something
break;
case EWeaponType::Bow:
// do something
break;
case EWeaponType::Axe:
// do something
break;
case EWeaponType::Hammer:
// do something
break;
}
在UE4中,我们可以使用属性来为枚举值添加元数据:
UENUM(BlueprintType)
enum class EWeaponType : uint8
{
Sword UMETA(DisplayName = "剑"),
Bow UMETA(DisplayName = "弓"),
Axe UMETA(DisplayName = "斧"),
Hammer UMETA(DisplayName = "锤子")
};
上面的代码使用UMETA宏为每个值添加一个DisplayName元数据,这将在蓝图中显示武器类型的中文名称。
UE4中的枚举是C++的标准类型,可以用于表示一组有限的值。在UE4中,使用UENUM宏可以为枚举类型添加元数据,以便与蓝图配合使用。