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

文章目录

制作面板

拖放UI

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

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

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

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

制作图片可以设置的功能

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

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

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

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

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

制作ContentSlot居中对齐

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

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

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

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

使用面板

创建一个MainMenu控件

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

相关推荐
北山有鸟9 分钟前
修改源码法和插件法
嵌入式硬件·学习
richxu2025100111 分钟前
嵌入式学习之路->stm32篇->(14)通用定时器(上)
stm32·单片机·嵌入式硬件·学习
小陈phd24 分钟前
TensorRT 入门完全指南(一)——从核心定义到生态工具全解析
人工智能·笔记
是上好佳佳佳呀31 分钟前
【前端(十一)】JavaScript 语法基础笔记(多语言对比)
前端·javascript·笔记
qeen8734 分钟前
【数据结构】建堆的时间复杂度讨论与TOP-K问题
c语言·数据结构·c++·学习·
handler011 小时前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
lizhihai_991 小时前
股市学习心得-六张分时保命图
大数据·人工智能·学习
其实防守也摸鱼2 小时前
CTF密码学综合教学指南--第四章
网络·笔记·安全·网络安全·密码学·ctf
nashane2 小时前
HarmonyOS 6学习:应用签名文件丢失处理与更新完全指南
学习·华为·harmonyos·harmonyos 5
@codercjw2 小时前
公差的具体标注方法(书本上/理论上标注方法)
学习