0


Unreal5(虚幻五) 实现UI与C++代码逻辑的交互 保姆级教程

本人有Unity基础,刚学UE几天,把这一套处理流程记录一下备用。
文章很长,强烈建议点目录跳着看。

0.目标效果

用户输入两个字符串,点击等号,在右侧的文本框中输出拼接在一起的字符串
在这里插入图片描述

1.创建一个空关卡

在这里插入图片描述

2.新建UI蓝图

在这里插入图片描述
双击打开,然后拖一个画布面板到场景中
在这里插入图片描述
拖动右下角光标到1920*1080
在这里插入图片描述
然后拖入一个水平框,调整锚点到中间
在这里插入图片描述
调整大小尺寸在这里插入图片描述
依次拖入文本框(用户可以输入内容),文本(显示文字),文本框,按钮,文本。然后再按钮下再拖入一个文本。
在这里插入图片描述
现在层级面板是这个样子
在这里插入图片描述

把水平框的五个部件都改成尺寸:填充,1.0
在这里插入图片描述
设置居中和调整字号
其中对于文本框,调整字号
在这里插入图片描述
调整颜色为黑色(记得把四个“继承”的勾都取消掉,才能生效)
在这里插入图片描述

给两个文本框改名为输入1,输入2。把文本改名为输出。在这里插入图片描述同时给输出打钩:是变量在这里插入图片描述改名后的层级是这个样子在这里插入图片描述依次点击(从左到右)编译,保存。
在这里插入图片描述

3.在游戏场景中展示UI蓝图

最小化UI蓝图,在一片黑的空白关卡。打开关卡蓝图。
在这里插入图片描述右键,添加“获取玩家控制器”节点在这里插入图片描述
从获取玩家控制的返回后面拉出,设置show mouse cursor。UE会自动隐藏鼠标,设置后鼠标就会一直显示,方便我们操作UI。
在这里插入图片描述
从事件开始运行节点拉出来接上,鼠标一直显示就设置完成了。
在这里插入图片描述
在SET后拖一个创建控件
在这里插入图片描述
然后选择我们刚做的UI蓝图,然后拉一个添加到视口功能。
在这里插入图片描述
完成连接
在这里插入图片描述

编译保存蓝图,最小化。然后主关卡界面点运行。
在这里插入图片描述
可以看到我们做的UI了
在这里插入图片描述

4.连接UI事件到关卡

回到UI的蓝图,点击图表
在这里插入图片描述
在左侧变量选中按钮
在这里插入图片描述
在右侧添加点击时事件
在这里插入图片描述
拖入输入1,输入2,输出。都选择获取。
在这里插入图片描述
点击加号添加一个事件分发器,我改名叫提交输入。添加两个字符串参数,叫输入1,输入2。
对蓝图编译,保存。
在这里插入图片描述
拖入事件分发器,选择调用。
在这里插入图片描述
输入1,输入2后拉出获取文本
在这里插入图片描述
获取文本后再拉出转换为字符串
在这里插入图片描述
然后连接到事件调用,看到下面这个样子,对UI蓝图编译保存。
在这里插入图片描述
按住蓝图的标签拖动可以分出窗口和合并窗口。
在这里插入图片描述
将关卡蓝图与UI蓝图分为两个窗口
在这里插入图片描述
按住UI蓝图里的事件分发器,拖入关卡蓝图。选择分配在这里插入图片描述
在这里插入图片描述
将创建视窗的Retrun Value连到绑定时间的目标上
在这里插入图片描述
将绑定事件连接到添加视口后,这样就可以在关卡开始时完成绑定。
在这里插入图片描述

然后我在提交输入后接了两个打印字符串,验证这步做的是否正确。
在这里插入图片描述
编译保存蓝图,运行程序,输入提交可以看到这样的效果:
左上角成功输出文本框的内容。
在这里插入图片描述

5.连接关卡事件到Actor

在资源文件夹中右键新建一个蓝图类
在这里插入图片描述父类选择Actor
在这里插入图片描述
我命名为拼接字符串Actor
在这里插入图片描述
双击进入Actor的蓝图,在左侧添加组件。
在这里插入图片描述
选新建C++组件
在这里插入图片描述
父类选Actor组件
在这里插入图片描述
我叫它JoinStringComponent。在这里插入图片描述
VisualStudio全部重新加载,然后UE得living code自动编译成功
在这里插入图片描述
在.h文件 pulic 构造函数下面添加代码:

UFUNCTION(BlueprintCallable)//可以显示在蓝图中
        FString EnableFunc(FString s1, FString s2);

在这里插入图片描述
在.cpp文件下面写函数:

FString UJoinStringComponent::EnableFunc(FString s1, FString s2){
    FString s3 = s1 + s2;return s3;}

在这里插入图片描述

最小化visual studio
点击右下角编译,保存
在这里插入图片描述
在这里插入图片描述
这时就可以给Actor添加我们写的C++组件了
在这里插入图片描述
将Actor编译保存
在这里插入图片描述
然后点击事件图表
在这里插入图片描述
从左侧拖入JoinString组件
在这里插入图片描述
然后就可以拉入我们写的C++函数。
在这里插入图片描述
新建一个事件处理器,拼接字符串Actor接收输入,参数也是两个字符串输入1输入2。拖入事件选择分配。然后按照下面的样子完成蓝图。编译,保存。
在这里插入图片描述
拖入完成的Actor到场景
在这里插入图片描述
层级是这样的
在这里插入图片描述
细节是这样的
在这里插入图片描述
打开关卡蓝图,脱出一个新的窗口。然后把大纲面板中的拼接字符串Actor拖入关卡蓝图中成为一个节点。
在这里插入图片描述
把Actor蓝图创建的事件分发器拖入关卡蓝图,选择绑定
在这里插入图片描述
之前拖入的Actor节点作为事件调用的目标,然后完成下面的连接。编译保存。
在这里插入图片描述
运行结果
在这里插入图片描述

6.连接Actor事件到UI

打开拼接字符串Actor的蓝图,新建一个事件分发器,只有一个字符串参数叫输出。拖入蓝图,选择调用。替换掉之前的输出字符串并连接。
在这里插入图片描述
打开UI的蓝图,添加一个变量,类型选择拼接字符串Actor
在这里插入图片描述

设置这个变量为可编辑实例√和生成时公开√
在这里插入图片描述编译保存,重新打开关卡蓝图。下面就多出了这个端口。
在这里插入图片描述
连接上,编译保存。
在这里插入图片描述

把新创建的事件分发器拖入UI的蓝图,选择分配。在这里插入图片描述
从输入(就是UI的那个输出标签)拉出设置文本。

将UI蓝图中的拼接字符串Actor与事件的对象连接。在把事件绑定等等都按照下图连接好。
在这里插入图片描述
编译保存,运行项目,完成了目标效果。

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

7.完成后的三个蓝图,仅作参考

关卡蓝图
在这里插入图片描述
UI蓝图
在这里插入图片描述
拼接字符串Actor蓝图
在这里插入图片描述

标签: 虚幻 ui 交互

本文转载自: https://blog.csdn.net/qq_42915442/article/details/125906965
版权归原作者 雷杰弗朗哥 所有, 如有侵权,请联系我们删除。

“Unreal5(虚幻五) 实现UI与C++代码逻辑的交互 保姆级教程”的评论:

还没有评论