一:Slate定制样式
(一)预期效果:用Slate写一个控件,它的样式所用的美术资源默认是从本地加载的,创建一个SlateWidgetStyle能够从项目中加载美术资源(Content文件夹下的资源)。
如下图所示,用slate写的控件可以像UMG一样很容易的设置美术资源。
(二)实现步骤:(开始前已经用Slate写好了一个控件)
(1)、创建C++类:MySlateWidgetStyleContainerBase(类创建好后UE4会报错,不用管它,重启一下就好了)
(2)、自己定义类的名称和路径后,在VS中打开
|
|
后面创建 SlateWidgetStyle的时候,会选择下面这个类创建。
FMyWidgetStyle是一个结构体,如下图所示:
|
|
(3)获取样式。slate样式制作好后,就是如何获取到FMyWidgetStyle。
在负责生成具体控件的类中获取slate样式FMyWidgetStyle。(最后创建slate样式的时候,样式的名称一定要和这里的名称“MyWidgetStyle_BP”一样。而且需要在指定的目录下创建,具体的路径是在负责slate样式的类中指定的。)
(4)在UE4插件自己生成的负责控件样式的类中,更改资源的加载方式,如下图所示: (一定要在指定的路径下创建slate样式)
(5)、编译代码,启动程序。在UE4中指定的路径下创建slate Widget Style:单击右键->选择UserWidget->选择slate Widget style。在弹出来的对话框中选择,我们自己创建的C++样式类:UTaskWidgetStyle
(6)最后自己添加美术资源进行测试: