UE4使用C++创建枚举变量适用于C++与蓝图
2016-08-24 11:03
465 查看
这个月勉勉强强才写了一篇,都快月底了,都还没有写第二篇博客的冲动,证明这个月确实收获甚少,有点状态不佳,懒毒入骨啊。刚刚看了这个月其实已经写了三篇,然而事实是这博客还有另外一个人也在更新文章,博主并没有人格分裂,呵呵,好冷。。。
最近迷迷糊糊地在用UE4写一些功能,本来也没在意一个简单的枚举变量有多麻烦,然后自己确实也因为这个东西打断一点工作时间。
如果只是在C++中使用的话,都还没什么问题,跟平常的定义一样就行,如果要在蓝图中使用的话,需要用UPROPERTY标记他可在蓝图中编辑调用,然后,他却提醒我需声明类型为UENUM/USTRUCT/等确定类型,好吧,一步一步跟着报错提示来...我也不挨着写了,看看实现的具体代码,其实很简单
1.在.h文件中声明enum,并在class里声明一个enum的变量
2.在C++中调用枚举变量,这里是构造函数中设置了一个初始值
3.在蓝图中调用枚举变量,CtrlState里就会有我们开始设置的鸟瞰模式和行走模式
最近迷迷糊糊地在用UE4写一些功能,本来也没在意一个简单的枚举变量有多麻烦,然后自己确实也因为这个东西打断一点工作时间。
如果只是在C++中使用的话,都还没什么问题,跟平常的定义一样就行,如果要在蓝图中使用的话,需要用UPROPERTY标记他可在蓝图中编辑调用,然后,他却提醒我需声明类型为UENUM/USTRUCT/等确定类型,好吧,一步一步跟着报错提示来...我也不挨着写了,看看实现的具体代码,其实很简单
1.在.h文件中声明enum,并在class里声明一个enum的变量
#pragma once #include "GameFramework/PlayerController.h" #include "MyPlayerController.generated.h" //需要标记枚举,并设置蓝图类型 UENUM(BlueprintType) enum class ControllerState:uint8 //设置uint8类型 { E_SCAN UMETA(DisplayName = "鸟瞰模式"),//想要显示中文 需要将编码格式设置为utf-8 E_WALK UMETA(DisplayName = "行走模式"),//DisPlayName表示显示的名称,在蓝图中可见 }; /** * */ UCLASS() class MYPROJECT_API AMyPlayerController : public APlayerController { GENERATED_BODY() public: AMyPlayerController(); /** 控制状态的变量 */ UPROPERTY(EditAnywhere,BlueprintReadWrite,Category=Controller) ControllerState CtrlState; };
2.在C++中调用枚举变量,这里是构造函数中设置了一个初始值
#include "MyProject.h" #include "MyPlayerController.h" AMyPlayerController::AMyPlayerController() { CtrlState = ControllerState::E_SCAN; }
3.在蓝图中调用枚举变量,CtrlState里就会有我们开始设置的鸟瞰模式和行走模式
相关文章推荐
- UE4使用C++创建枚举变量适用于C++与蓝图
- 使用C++创建蓝图公共静态方法
- UE4]不使用角色蓝图、动画蓝图、状态机,用“24K纯C++”实现动画播放
- [UE4蓝图教程]蓝图入门之变量使用
- [UE4]注意事项,插件中蓝图方法库在C++中的使用
- UE4-C++核心编程之接口:接口在蓝图中的使用
- C/C++ (函数、变量和类)动态库的创建、导出和使用
- UE4笔记---C++加载BP蓝图及C++BP蓝图文件并创建UUserWidget对象
- 【UE4】【C++】炮弹(子弹)使用方法(创建、作用力、范围伤害及接受伤害)
- UE4蓝图:创建和使用结构体
- UE4之c++使用多播代理调用蓝图
- C++ 把枚举变量的名称,直接当字符串使用方法 字符串化符号 #
- 使用蓝图(Blueprint)绑定多播委托(Multicast Delegate)【UE4】【C++】
- C++ 把枚举变量的名称,直接当字符串使用方法 字符串化符号 #
- 使用NetBeans C/C++ Pack 5.5 创建程序(二)
- ABAP--动态创建类型和变量的使用程序样例
- 使用NetBeans C/C++ Pack 5.5 创建程序(二)
- ABAP--动态创建类型和变量的使用程序样例
- ABAP--动态创建类型和变量的使用程序样例
- 使用NetBeans C/C++ Pack 5.5 创建程序(二)