本章简介
- 如何利用C++编写Slate控件
- 介绍常用的Slate控件
- 自定义DPI
用C++编写Slate控件
ChildSlot
[
SNew(SImage)
.Image(&MySlateStyle->BackGroupBrush)
];
只需要在ChildSlot中编写相关代码就可以创建控件。不同控件有不同的属性,下面将要介绍一些常用的控件,值得注意的是对于需要在游戏中动态控制的控件,需利用SAssignNew,再通过共享指针保存起来
SOverlay
- 用于实现重叠部件,可以创建任意个插件,即可以放任意个子控件
HAlign和VAlign
- 设计布局方式
Padding
- 设计边缘空隙
FillWidth和FillHeight
- 填充宽度和高度
+SOverlay::Slot()
- +SOverlay::Slot()与SNew().AddSlot等价。增加的插槽下用于放子控件
SNew(SOverlay)
+ SOverlay::Slot()
//这些属性设计是应用于插槽
.HAlign(HAlign_Fill)
.VAlign(VAlign_Fill)
[
SNew(SImage)
//image()用于添加笔刷
.Image(&MySlateStyle->BackGroupBrush)
]
SImage
- Image()通过加笔刷来显示图片
- ColorAndOpacity()改变颜色和透明度
SBox
- 只能添加一个子组件
- WidthOverride和HeightOverride设置长宽
- 对应UMG中的SizeBox
SBorder
- 可放子控件,可显示图片
- 用BorderImage添加图片
STextBlock
- 用于添加文字
- Font()设置字体(不是指针)
- Text()设置显示文字
SVerticalBox
- 垂直容器
- 可以加插槽
- +SVerticalBox::Slot == AddSlot
SCheckBox
- OnCheckStateChanged:传入函数指针(委托),状态改变时调用
SSlider
- 滑动条
- 滑动条样式用 FSliderStyle
- OnValueChanged(Delegate) 此为SLATE_EVENT,里面应该传入一参数(滑动条value)委托,每次滑动条value改变时调用。
- SetValue()设置滑动位置,范围[0f,1f]
自定义DPI
相关链接
- 下章链接
虚幻4之Slate学习四 —— 委托与宏 - 章节总览
虚幻4之Slate学习