当前位置: 首页 > news >正文

UE5 C++ 两种枚举

由于c++11新增了强枚举,因此UE5中枚举分为经典枚举和强枚举两种写法

经典枚举
定义

UENUM()namespaceEAutoReceiveInput{enumType//这里就是普通的c++枚举{Disabled,Player0,Player1,Player2,Player3,Player4,Player5,Player6,Player7,};}

声明变量

UPROPERTY(EditAnywhere)TEnumAsByte<EAutoReceiveInput::Type>AutoPossessPlayer;//必须用TEnumAsByte声明,这个一个包装器,将枚举转化为8字节整数,因为蓝图无法处理枚举类型,只能处理数字,注意<>里是命名空间和枚举类型

调用

AutoPossessPlayer=EAutoReceiveInput::Player0;//等号左边是包装器,右边直接用命名空间调用枚举值,注意命名空间后没有跟枚举类型

enum class 强枚举
定义

UENUM(BlueprintType)//必须写上BlueprintType,这是固定写法,告诉编译器这个枚举可以在蓝图使用enumclassEMyState:uint8//强枚举需要加上class关键字, uint8是指定数据结构,经典枚举和强枚举默认是都int,但强枚举可以手动指定为uint8,只占1个字节,UE也推荐写为uint8{Idle,Walk,Run};

声明变量

UPROPERTY(EditAnywhere)EMyState CurrentState;

调用

CurrentState=EMyState::Idle;//直接用枚举名::枚举值
http://www.jsqmd.com/news/621184/

相关文章:

  • 2026年正规的东莞公司注册行业榜单 - 品牌宣传支持者
  • SenseBoxBLE库详解:phyphox协议下的Arduino BLE透传实践
  • Windows Server 操作主机管理实验文档
  • 【MySQL】MySQL安装保姆级教程:MySQL8数据库使用指南(2026版)
  • OpenClaw 集成至多用户 Web 应用的可行性分析
  • 同一网段通信:从原理到实践的深度解析
  • emGUI:嵌入式轻量级Widget GUI框架解析
  • 2026南京:南京精装改造全屋定制/南京美式风全屋定制/南京芦花全屋定制工厂/南京门墙柜一体全屋定制工厂/南京高性价比全屋定制工厂/选择指南 - 优质品牌商家
  • 别再踩坑了!在Rancher里用Deployment部署Redis集群,Pod重启IP变动的终极解决方案
  • 终极指南:使用OpenCore Legacy Patcher免费升级老旧Mac到最新macOS
  • PingCraft:从需求文档到可追踪工作项的 Agent 实践之路寻
  • EasyDriver步进电机驱动库stepper深度解析与工程实践
  • SpringCloud进阶--Sentinel 流量防卫兵衅
  • wso~.升级到.需要更新的数据表戳
  • 一天浪费3小时?OPC最常见的5个“业务流程税”陷阱
  • Windows Server 多域间访问实施文档
  • 东南亚电商支付方式有哪些?2026最新整
  • 16.Flask入门
  • 2026年蓝牙耳机推荐:8款200-500元机型参数拆解与硬核选型
  • CMake变量实战:从基础引用到高级构建控制
  • 【技术深潜】MODA数据集与OSSDet模型:如何破解无人机多光谱目标检测的‘数据荒’与‘融合难’?
  • 解决Maven插件依赖缺失:以maven-resources-plugin为例的实战指南
  • LwJSON:嵌入式轻量级JSON解析器深度解析
  • M95系列SPI EEPROM嵌入式驱动库详解与工业级应用
  • USB HID设备开发避坑指南:基于STM32F4的鼠标键盘事件回调详解
  • Sourcetree实战指南:从零上手代码克隆、高效合并与冲突化解
  • 4月初AI观察:AI正在慢慢走向实际
  • Android10剪贴板限制下的高效适配策略与实践
  • 【反蒸馏实战 00】AI抢不走的工作:一份针对30个“高危”职位的“反取代”实战手册(反蒸馏计划启动)
  • GyverWire:嵌入式轻量级通用串行通信框架