最近开始学习UE4,整理了一下UE4的UMG官方文档的主要内容。

目录:
UE4官方文档UI学习:1.UMG UI设计器快速入门
UE4官方文档UI学习:2.UMG 创建主菜单
UE4官方文档UI学习:3.UMG 创建暂停菜单
UE4官方文档UI学习:4.UMG 创建控件模板
UE4官方文档UI学习:5.UMG 创建3D控件交互
UE4官方文档UI学习:6.UMG 使用菜单锚显示弹出菜单
UE4官方文档UI学习:7.UMG 用事件驱动UI更新


本节内容

需求背景:实现一个菜单栏,该菜单栏中有若干个外观相同,但点击效果不同的按钮。

之前我们知道了如何创建控件蓝图,但是我们如何将某个控件蓝图,作为一个实例,在其他控件蓝图中重复使用呢?本节将创建控件蓝图CustomButton,作为一个通用的按钮。

本节新增知识点:
Set Style节点
事件调度器
PrintString 节点


1 - 设置按钮控件

1.右键点击 内容浏览器,创建两个 控件蓝图,一个命名为 CustomButton,另一个命名为 HUD。

2. 删除 CustomButton 空间蓝图中的 画布面板。然后,添加按钮,并右键点击,选中 用于包裹(Wrap With) > (Size Box)。
3. 在 Size Box 细节 面板中,将 宽度覆盖 改为 300,高度覆盖 改为 100。也可将图形布局改为 实际屏幕显示(Desired on Screen),以了解按钮的实际大小。

4.长按 Ctrl 键并从 我的蓝图 面板中拖出 按钮。然后,拖出引脚并添加 设置样式(Set Style) 节点。确保选中 Variable Apperance 节点,而非 Button Function 节点。

5. 将 Event Construct 节点连接到 Set Widget Style 节点,然后右键点击 控件样式 并选择 升级为变量。

6.将新变量命名为 ButtonStyle,然后 编译 蓝图。然后,将 法线 > 图像 样式设为以下纹理。

7.右键点击 法线 部分,然后选择 复制。然后,将图像设置粘贴到 悬停 值和 按下 值。所有三个数值现应具有相同图像纹理。

8.展开 悬停 并将 着色 颜色改为任意颜色(如黄色)。

9.在 ButtonStyle 中,勾选 实例可编辑(Instance Editable) 和 生成时公开(Expose on Spawn)。


利用此操作,可在其他蓝图中使用该控件蓝图时,修改此变量的值。

10.选择 Button 变量,然后点击 + 号将 OnClicked 节点添加到图表。
11.在 MyBlueprint 面板中,选择 EventDispatchers ,新建名为 ButtonClicked 的 事件调度器。
12.将 ButtonClicked 拖入图表,选择 call,然后将该节点连接到 OnClicked 事件。

如此一来,就可以通过刚刚创建的事件调度器,对不同的按钮实现额外的脚本。


2 - 将按钮控件添加到HUD控件

1.打开 HUD 控件蓝图,并向 画布面板 添加 垂直框。将框的尺寸调小。
2.在 用户创建 下的 选用板 中,向 垂直框 添加三个 自定义按钮。

3.在事件图表中,点击 + 将 点击按钮 事件添加到图中。现在应有3个事件,每个按钮一个。

此为 CustomButton 控件蓝图中创建的 事件调度器,点击此特殊按钮时其将进行响应。

4.对于各 ButtonClicked 事件,拖出引脚并将 PrintString 节点连接到各事件。在 字符串中 文本框中添加不同文本。

5.从关卡编辑器主工具栏前往 蓝图,并选择 打开关卡蓝图。
6.在事件图表中点击鼠标右键,并添加 Event BeginPlay 节点。将节点连接至 Create Widget 节点,并将 类 设为 HUD。

7.添加 Add to Viewport 节点,并将其连接至 Create HUD Widget 节点。然后,将 Get Player Controller 函数添加到 Set Show Mouse Cursor 节点,并勾选此复选框(将其设为True)。


运行效果:

此外,ButtonStyle 为公开变量,可修改默认的样式,例如中间按钮修改图案如下:

UE4官方文档UI学习:4.UMG 创建控件模板相关推荐

  1. UE4官方文档学习笔记材质篇——UV坐标动画,凹凸贴图偏移

    一.UV坐标动画 1.含义 UV 坐标动画或 UV 平移的含义是,水平 (U) 和/或垂直 (V) 移动纹理的 UV 坐标,以产生复杂动画的错觉. 2."Panner(平移)"节点 ...

  2. Python版本VTK官方文档教程学习(五)

    Tutorial Step5: 教程描述: 这个例子将交互的概念引入了python环境(vtkrenderinteractor),即鼠标或键盘与渲染窗口中模型的交互.比如通过鼠标进行移动.旋转.缩放等 ...

  3. UE4官方文档_Light Propagation Volumes_LPV方案

    光线传播体积(Light Propagation Volumes)功能仍在开发中,不适用于生产. 本页面的内容: 启用光线传播体积 基础场景设置 光线传播体积设置 调整外观和性能 定向光源设置 查看全 ...

  4. UI学习第二篇 (控件)

    UIbutton 也是一个控件,它属于UIControl 用的最多的就是事件响应 1. //创建按钮对象 UIButton * _botton = [UIButton buttonWithType:U ...

  5. 温故而知新,UI学习中的大部分控件及常用的基础都整理了一下,很长~~~~~~~~~很长!!!!!!!...

    生命周期,生命周期,生命周期,重要的事要说三遍,战五渣的我最常用的好像只有Viewwillappear吧 - (BOOL)application:(UIApplication *)applicatio ...

  6. jsTree 组件官方文档学习

    jsTree 组件官方文档学习 什么是 jsTree 根据jsTree官网的解释:jsTree 是一个jquery 插件, 提供交互式树.它是完全免费的,开源的,并根据MIT许可进行分发.jsTree ...

  7. python笔记6-python官方文档之format()格式化详解

    字符串格式化之format() 字符串的格式化是特别特别重要的一个知识点,自己将通过python官方文档来具体总结学习它,整体为如下一篇笔记文章,以备自己后来复习回顾.      一.format() ...

  8. 如何全文搜索oracle官方文档

    如何全文搜索oracle官方文档 [技巧]如何全文搜索oracle官方文档 一.1  BLOG文档结构图 一.2  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它 ...

  9. 【技巧】如何全文搜索oracle官方文档

    一.1  BLOG文档结构图 一.2  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 如何在线和离线查看oracle官 ...

  10. ZooKeeper编程向导——源自官方文档

    ZooKeeper编程向导--源自官方文档 介绍(源自ZooKeeper官方文档) 学习HBase过程中,发现它与ZooKeeper的关系比较密切,于是专门学习了一下ZooKeeper,下面是ZooK ...

最新文章

  1. shell+中sum的用法_SUM函数从入门到进阶,不用放弃!
  2. 成人高考计算机考试技巧,备战2015年成人高考:计算机基础考试经验分享
  3. 构建之法阅读笔记(1)
  4. @transactional注解原理_《Spring源码解析(十二)》深入理解Spring事务原理,告别面试一问三不知的尴尬...
  5. Python多进程实现原理
  6. 凸优化第四章凸优化问题 4.4 二次优化问题
  7. vue app准备学习工作
  8. SylixOS 内存管理源代码分析--phyPage.c
  9. .NET 配置系统未能初始化”异常
  10. android xutils3 注解,xUtils3使用简介
  11. stm32c8t6+bq76940 930 资料stm32c8t6+bq76940 锂电池管理系统(BMS)
  12. 传感器实验——超声波测距
  13. CE-RTI开源软件代码学习笔记(一)
  14. 评测3款高颜值的安卓txt阅读器
  15. 暖一壶秋色,与你共清欢
  16. 做中台,我从一名产品经理做成了合伙人
  17. 开发用台式机还是笔记本_您应该开发台式机还是Web应用程序?
  18. 公民实验室:史上危险的手机间谍软件已感染45个国家/地区
  19. MTK平台的LCM防静电(esd-check)机制
  20. ZTE/中兴Blade N880 root教程_方法

热门文章

  1. 陈纪修老师《数学分析》 第09章:数项级数 笔记
  2. linux看定时任务命令,linux命令-定时任务at
  3. 计算机辅助设计autocad2005(建筑)四级考试,计算机辅助设计(AutoCAD平台)
  4. VC6编译wxWINDOWS-2.4.0-编译EDISON源码
  5. Android 项目必备(四十一)-->Android 开发实战经验总结
  6. tcpip详解卷一_2020高考物理北京卷逐题视频解析+Word版真题
  7. c语言数码管按下k1显示1,单片机C语言程序的设计实训100例_基于8051+PROTEUS仿真1.docx...
  8. python编写2的n次方_2的n次方(python计算2的n次方的算法)
  9. JAVA项目之图书管理系统
  10. java/php/net/python基于Java的校园一卡通管理系统