项目中我们少不了使用各种枚举值来作为数值的类型,比如,我们AI的行为状态,有Run,Idle,Attack等等,这里介绍一下UE4中使用枚举的方法
直接上代码:
其实看起来和原生C++没什么差别,只不过多了一个UENUM的反射宏,我们使用这个反射宏可以将自己的枚举暴露给蓝图进行配置。
定义好了自己的枚举类型之后,假如我们需要在蓝图中暴露出来,让策划进行配置。需要注意的是,我们不能直接像使用原生C++中枚举值一样来使用它。在原生C++中我们可以直接这样使用:像定义普通变量那样
但是,当你这样编译的时候是不会通过的,会报这样的错:
提升我们不能像使用原生枚举类型那样来作为成员变量。需要使用C++11中的enum class来定义或者使用TEnumAsByte
我们常使用后者定义如下:
这样,我们就能编译通过了
看一下我们定义的这个枚举值,在蓝图中是什么样子
大概就是这样子,希望能够帮助到那些从蓝图过渡到C++的朋友