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

文章目录

制作面板

拖放UI

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

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

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

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

制作图片可以设置的功能

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

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

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

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

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

制作ContentSlot居中对齐

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

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

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

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

使用面板

创建一个MainMenu控件

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

相关推荐
Orange_sparkle22 分钟前
从五个 TypeScript 文件看懂 Coding Agent:一次 nano-pi 学习复盘
javascript·学习·typescript
m4Rk_28 分钟前
【论文阅读】Agent 记忆机制(40):HiAgent——通过子目标级记忆提升长程任务执行能力
论文阅读·人工智能·学习·开源·github
今儿敲了吗36 分钟前
CN——数据链路层(下)
网络·笔记
RainCityLucky38 分钟前
Java Swing 自定义组件库分享(十六)
java·笔记·后端
richard_yuu1 小时前
JSON vs XML vs 二进制:3种序列化终极选型
xml·c++·qt·学习·json
迪丽热爱1 小时前
多媒体应用5-817
学习
世人万千丶1 小时前
收纳格卡片风:ArkUI 让鸿蒙物品清单像收纳盒贴标
学习·华为·harmonyos·鸿蒙
wy_hhxx1 小时前
AI Agent & Harness Engineering 笔记
人工智能·笔记
MartinYeung51 小时前
[论文学习]X-Boundary:为LLM建立精确安全边界以抵御多轮越狱攻击
学习·安全
xiaoxiangsiyan1 小时前
RHCE之2026年全套考点详解
运维·前端·网络·chrome·学习·rhce