UE5学习笔记 FPS游戏制作39 制作一个带有背景的预制面板 使用overlay和nameSlot

文章目录

制作面板

拖放UI

创建一个UI控件,命名为BGPanel,

添加一个覆层,但是当我们在一个面板上拖出这个控件时,覆层不能直接接受子物体

在覆层下添加一个图片和一个"命名的插槽",并将两者拉伸到全屏

这样,其他元素可以拖到这插槽里,缺点是子元素的大小只能和插槽相同,不能手动调整

制作图片可以设置的功能

当把这个控件拖到别的控件里后,图片无法直接修改属性,需要自己做设置图片的功能

打开事件图表,添加一个变量BackgroundImage,点开后边的眼睛,变成公开变量

我们可以在细节面板里给变量设置一个默认值

在预构造事件里添加如下节点,预构造是指编辑器阶段,不是在构造函数前运行

这样子,当把BGPanel拖到别的控件里时,就可以在默认栏里,设置图片的样式

制作ContentSlot居中对齐

当ContenSlot的子元素是text时,很可能需要居中对齐这个功能,但是ue的text本身不支持居中对齐,我们只能通过让父物体居中对齐来实现text的居中对齐

在事件图表里添加一个参数,类型选择EVerticalAlignment

在预构造事件里添加如下节点,注意这个"插槽"根据父容器不同,具体类型会不同,这里可以修改对齐方式是因为父容器"覆层"的插槽里有对齐方式的属性

当把BGPanel拖到别的控件里时,就可以在默认栏里,设置contentSlot的对齐方式

使用面板

创建一个MainMenu控件

将BGPanel拖入,然后将显示的内容拖入slot里,注意contentSlot里可以是任何元素,不一定是text

相关推荐
yuhouxiyang2 小时前
学习海康VisionMaster之路径提取
学习·计算机视觉
PLUS_WAVE3 小时前
CogCoM: A Visual Language Model with Chain-of-Manipulations Reasoning 学习笔记
学习·语言模型·大模型·cot·vlm·推理模型·reasoning
绵绵细雨中的乡音3 小时前
Linux进程学习【环境变量】&&进程优先级
linux·运维·学习
贺函不是涵3 小时前
【沉浸式求职学习day27】
学习
努力奋斗的小杨3 小时前
学习MySQL的第十二天
数据库·笔记·学习·mysql·navicat
枫叶20004 小时前
OceanBase数据库-学习笔记1-概论
数据库·笔记·学习·oceanbase
一点.点4 小时前
李沐动手深度学习(pycharm中运行笔记)——04.数据预处理
pytorch·笔记·python·深度学习·pycharm·动手深度学习
一点.点4 小时前
李沐动手深度学习(pycharm中运行笔记)——07.自动求导
pytorch·笔记·python·深度学习·pycharm·动手深度学习
你可以叫我仔哥呀4 小时前
k8s学习记录(五):Pod亲和性详解
学习·容器·kubernetes
tcoding4 小时前
《MySQL 技术内幕-innoDB 存储引擎》笔记
数据库·笔记·mysql