博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UE4课堂笔记——《UE4C++游戏开发入门教程!》第二期共享变量和方法
阅读量:4116 次
发布时间:2019-05-25

本文共 1479 字,大约阅读时间需要 4 分钟。

UE4C++游戏开发入门教程!(第二期)1

UE4C++游戏开发入门教程!(第二期)2

UE4C++游戏开发入门教程!(第二期)3

UE4C++游戏开发入门教程!(第二期)4

创建c++类并以此创建蓝图类

先创建c++类MyActor_CPP,再创建蓝图类MyActor_CPP_BP,该蓝图父类选择MyActor_CPP

在这里插入图片描述

c++与蓝图共享变量

在c++的头文件.h中声明变量,利用UPROPERTY宏在引擎界面里标记上显示、可用或禁用等,详细参数参考《》

public:	//将下面所有的变量等公开到ue引擎中	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PropertyTest1")		float A;	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PropertyTest1")		float B;	//VisibleAnywhere仅在显示区显示,但没有禁止蓝图中事件图表内的修改	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "PropertyTest2")		float C;	//BlueprintReadOnly只读,但没有禁止显示区的数值修改	UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "PropertyTest2")		float D;	//全面禁止修改	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "PropertyTest2")		float E;

看一下变量及分类是否已经能看到了

在这里插入图片描述
在这里插入图片描述

C++与蓝图共享方法

c++头文件.h的类中,使用UFUNCTION宏声明函数InputText,详细参数参考《》

public:	//声明一个函数并用宏确定是否允许在蓝图中操作	UFUNCTION(BlueprintCallable)	void InputText(int32 num);

c++ .cpp 的中定义函数

// 定义函数打印,-1表示不覆盖,即多行,其它数字表示只显示一行,5表示显示5秒void AMyActor::InputText(int32 num){
//GEngine->AddOnScreenDebugMessage(-1, 5, FColor::Blue, TEXT("中文能否正常显示")); //GEngine->AddOnScreenDebugMessage(-1, 5, FColor::Red, TEXT("chinese can not show normal")); GEngine->AddOnScreenDebugMessage(-1, 5, FColor::White, FString::FromInt(num));}

打开蓝图类,事件编辑器里找到函数,调用执行

在这里插入图片描述
效果如图
在这里插入图片描述
如果在.cppBeginPlayTick方法里执行该函数,并将该类拖入引擎的场景中,那么游戏运行开始就会打印一次或多次,而不用到蓝图里写流程

void AMyActor::BeginPlay(){
Super::BeginPlay(); //执行函数打印 InputText();}

注意点

有些人在蓝图中看不到c++共享的变量,可能是眼睛这个位置没有打勾。

在这里插入图片描述

转载地址:http://zakpi.baihongyu.com/

你可能感兴趣的文章
js报错显示subString/subStr is not a function
查看>>
高德地图js API实现鼠标悬浮于点标记时弹出信息窗体显示详情,点击点标记放大地图操作
查看>>
初始化VUE项目报错
查看>>
vue项目使用安装sass
查看>>
HTTP和HttpServletRequest 要点
查看>>
在osg场景中使用GLSL语言——一个例子
查看>>
关于无线PCB中 中50欧姆的特性阻抗的注意事项
查看>>
Spring的单例模式源码小窥
查看>>
后台服务的变慢排查思路(轻量级应用服务器中测试)
查看>>
MySQL中InnoDB事务的默认隔离级别测试
查看>>
微服务的注册与发现
查看>>
bash: service: command not found
查看>>
linux Crontab 使用 --定时任务
查看>>
shell编程----目录操作(文件夹)
查看>>
机器学习-----K近邻算法
查看>>
HBASE安装和简单测试
查看>>
关于程序员的59条搞笑但却真实无比的编程语录
查看>>
搞笑--一篇有趣的文章编译自一篇西班牙博客。有一位美丽的公主,被关押在一个城堡中最高的塔上,一条凶恶的巨龙看守着她,需要有一位勇士营救她…
查看>>
非常不错 Hadoop 的HDFS (Hadoop集群(第8期)_HDFS初探之旅)
查看>>
Tomcat启动错误,端口占用
查看>>