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

【UE】UMG通信的三种方法

目录

前言

方法一:通过“获取类的所有控件”节点通信

方法二:当创建控件蓝图时传入其它控件蓝图的对象引用

*方法三:使用HUD类来管理UMG通信


前言

首先我们创建了三个控件蓝图,那么其中的一个控件蓝图如何与剩下的控件蓝图通信呢,这里介绍三种方法,其中最后一种方法是效果最好的,可以有效减少控件蓝图对象引用变量的创建。

 

方法一:通过“获取类的所有控件”节点通信

要实现一个控件蓝图如何与其它的控件蓝图通信,可以通过“获取类的所有控件”节点来获取到其它控件蓝图的对象引用

方法二:当创建控件蓝图时传入其它控件蓝图的对象引用

我们首先打开一个控件蓝图,并添加一些添加变量,变量类型为其它控件蓝图的对象引用,勾选“可编辑实例”和“生成时公开”

然后当我们实例化控件蓝图时可以将其它控件蓝图的对象引用作为参数传入,如下图,这样在控件蓝图“WBP_1”中就能使用“WBP_2”和“WBP_3”了

*方法三:使用HUD类来管理UMG通信

首先我们创建一个父类为HUD的蓝图,该蓝图主要用于管理和创建控件蓝图

这里命名为“MyHUD”

在世界场景设置中设置HUD类为“MyHUD”

再创建一个控件蓝图作为主界面,在游戏中主界面会包含其它所有界面,这里主界面命名为“WBP_Master”

打开“MyHUD”,在事件图表中创建主界面“WBP_Master”

打开“WBP_Master”,我们在“WBP_Master”中去添加其它子界面

此时我们再打开其中的一个子界面“WBP_1”,在事件图表中,我们可以通过获取玩家控制器来获取HUD,再将HUD转换为我们自己创建的“MyHUD”,通过“MyHUD”获取到主界面“WBP_Master”,最后通过主界面来获取到主界面中包含的各个子界面的对象引用。

参考链接:

https://www.bilibili.com/video/BV1KW4y1m7xP/?spm_id_from=333.999.0.0&vd_source=36a3e35639c44bb339f59760641390a8


http://www.kler.cn/a/104020.html

相关文章:

  • SQL 选择数据库 USE语句
  • 【STM32】GPIO控制LED(寄存器版)
  • 系统架构设计师之RUP软件开发生命周期
  • reqable(小黄鸟)+雷电抓包安卓APP
  • 万宾科技智能井盖传感器怎么使用?
  • v-html防止XSS攻击
  • nginx加权轮询,upstream,Keepalive,负载均衡实现案例
  • Kafka - 深入了解Kafka基础架构:Kafka的基本概念
  • 行为型模式-空对象模式
  • 【Pytorch】Pytorch学习笔记02 - 单变量时间序列 LSTM
  • 【Linux】安装配置虚拟机及虚拟机操作系统的安装
  • Web功能测试之表单、搜索测试
  • uniapp map polygons 区域填充色(fillColor)在ios显示正常,但在安卓手机显示是黑色的,怎么解决?
  • 网络与信息系统安全设计规范
  • Spring学习笔记—JDK动态代理
  • 如何解决找不到xinput1_3.dll无法继续执行此代码?5个解决方法分享
  • Python等比数列
  • 【技能树笔记】网络篇——练习题解析(九)
  • HTML笔记-狂神
  • iai 定向 题解