UE4-(蓝图)第一百零一课 将控件蓝图作为子控件添加到其他UI控件

示例:创建玩家列表,点击新建按钮时,创建玩家信息内容,包括名称、等级等信息如图

UE4-(蓝图)第一百零一课 将控件蓝图作为子控件添加到其他UI控件

1.创建两个控件蓝图分别命名为PlayerList、PlayerSlot

UE4-(蓝图)第一百零一课 将控件蓝图作为子控件添加到其他UI控件

2.在PlayerSlot控件蓝图中,将CanvasPanel删除,添加Horizontal Box,放入Text (测试名称) Spacer(用来做两个text间隔) Text(测试等级)如下图设置:

UE4-(蓝图)第一百零一课 将控件蓝图作为子控件添加到其他UI控件

放置排列顺序,设置Spacer Size中x的大小。其余参数不设置

3.在PlayerList控件蓝图中,拖入标题(玩家列表),Button 新建按钮(其余暂时用不到),滑动框ScrollBox(图中命名为PlayerListBox,注意不是滑动条),背景图,将背景图与滑动框使用Overlay控件使他们重叠,设置填充参数为拉伸。调整区域大小,其余参数不变。

背景图是用来与其他UI区分。

滑动框作用:在新建内容时,根据内容的增多,自动出现滑动条可以滑动可视区域。

UE4-(蓝图)第一百零一课 将控件蓝图作为子控件添加到其他UI控件

4.将滑动框设置为变量。选中滑动框(PlayerListBox),细节面板将Is Variable打对勾。

5.选择创建按钮,在细节面板选择OnClick,使用Creat Widget 创建 PlayerSlot  UI,将PlayerListBox变量拖入蓝图中,使用AddChild节点,就可以将创建的UI 添加到滑动框内作为滑动框的子控件存在。

UE4-(蓝图)第一百零一课 将控件蓝图作为子控件添加到其他UI控件

蓝图如下:

UE4-(蓝图)第一百零一课 将控件蓝图作为子控件添加到其他UI控件

关键节点:AddChild 节点。