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

文章目录

制作面板

拖放UI

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

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

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

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

制作图片可以设置的功能

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

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

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

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

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

制作ContentSlot居中对齐

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

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

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

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

使用面板

创建一个MainMenu控件

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

相关推荐
Brookty4 小时前
Java线程安全与中断机制详解
java·开发语言·后端·学习·java-ee
飞速移动的代码菌4 小时前
【DataWhale】快乐学习大模型 | 202507,Task08笔记
笔记·学习
不在了情绪5 小时前
[ The Missing Semester of Your CS Education ] 学习笔记 Vim篇
笔记·学习·vim
试着5 小时前
零基础学习性能测试第五章:JVM性能分析与调优-JVM概念,java程序运行原理
java·jvm·学习·零基础·性能测试
遇见尚硅谷6 小时前
C语言:20250728学习(指针)
c语言·开发语言·数据结构·c++·笔记·学习·算法
Aronup6 小时前
NLP学习开始01-线性回归
学习·自然语言处理·线性回归
墨迹的陌离8 小时前
【Linux】重生之从零开始学习运维之Mysql
linux·运维·服务器·数据库·学习·mysql
这就是佬们吗8 小时前
初识 docker [上]
java·开发语言·笔记·docker·容器
幻风_huanfeng8 小时前
学习人工智能所需知识体系及路径详解
人工智能·学习
试着9 小时前
零基础学习性能测试第六章:性能难点-Jmeter文件上传场景压测
学习·jmeter·零基础·性能测试