UE4学习笔记:学习UE4中的UMG(图形UI设计器)工具(二): Widget Blueprint控件蓝图的简单应用

在简单了解控件蓝图之后,来进一步了解应用Widget Blueprint控件蓝图

一.创建自己的控件
除了使用控制板中的UMG自带的控件外,我们还可以使用自行创建带有我们自己添加内容的控件。

创建一个控件蓝图,删除其中默认的Canvas Panel控件,之后添加带Text子控件的Button控件,如下
在这里插入图片描述
返回我们之前使用的UI界面控件蓝图MyUI,在控制板中找到刚刚创建的控件蓝图,拖动到视觉设计器图表中即可,编译运行(关卡蓝图中已创建并显示了MyUI蓝图)即使用了自己创建的控件,返回创建的蓝图控件,修改其属性,如修改详情->Appearance->Background Color,在使用了控件的所有控件蓝图中都会得到改变,如下
在这里插入图片描述
二.控件属性
对于控件蓝图中的每个控件,详情面板中都提供了各种样式,属性,改变它们将会影响对象的显示方式。
首先先来看Anchors锚的操作,选中蓝图中的按钮控件,可以看到它的父控件Canvas Panel左上角出现花朵图标,这就是锚,如下
在这里插入图片描述
锚用来确定UI控件在画布面板上的预期位置,并在不同的屏幕尺寸下维持这一位置,默认锚以Min(0,0),Max(0,0)显示在左上角,Min(1,1),Max(1,1)表示右下角。锚是每个子控件的属性,用来确定与父控件(这里既是画布)的位置(不是所有都有锚属性,如Text就没有),子控件与锚的距离是固定的,无论屏幕尺寸怎么变化,控件都将维持这个位置(因为这里父控件Canvas Panel的大小不会变,锚位置也不会变,子控件到锚保持固定距离),确定了锚,子控件到其的距离就定下来了。

锚是可以拆分的,相当于确定了多个锚点(子控件到每个锚点的距离都是固定的)
在这里插入图片描述
在控件的Slot属性下的Anchors有很多系统预定的锚类型,我们可以直接选取

我们看到Anchors所处Slot属性类目,所谓Slot就是子控件的插槽,它的属性表示了在父控件中的排布属性,个人理解Slot是每个子控件的属性,其插槽类型对应其父控件类型 (因为“嵌”在父控件中)。如下是按钮的插槽属性
在这里插入图片描述
而其子控件Text的插槽类型就是Button Slot了
在这里插入图片描述
在按钮插槽属性中,除了Anchors属性,还有位置,Size,Size To Content(适配位置大小),ZOrder(渲染顺序)属性有相同槽类型的控件有一致的Slot属性,不同槽类型的控件Slot属性类目是不同的

除了Slot属性,还有Appearance外观属性,Interaction属性用来协助之后的Events属性中的事件,像按钮控件还有Behavior属性,用来决定按钮的设置,Render Transform渲染转换属性。接下来看Events事件类目的用法

三.蓝图控件的事件图表
在控件(这里采用按钮控件)的Events类目中可以为控件添加可绑定事件,同时通过Interaction类目来协助Events的使用。这里可以通过设置Interaction下的ClickMethod(单击方式),TouchMethod(触控方式)来影响Events事件。
在这里插入图片描述
我们现在添加一个OnClicked事件,我们即从设计师模式进入了事件图表模式
在这里插入图片描述
在这里插入图片描述
我们即可为此控件蓝图添加各种结点响应这个按钮的点击。
除了为控件添加事件结点,还可以为控件的属性绑定函数或变量
如我们找到按钮子控件Text的Content属性,在右侧的绑定按钮上为其绑定一个GetText_0结点,进入事件图表,对此函数进行编辑
在这里插入图片描述
在这里插入图片描述

注意这个结点会实时地修改其绑定的Text Content,比如我为返回结点添加一个输入参数,并这样连线
在这里插入图片描述

这样运行后Text Content就会变成MyText的值,但是若MyText在之后被修改,函数会实时地在游戏中修改Text Content的值,同时还可以利用函数的返回值,即被设置之后的Text Content,我们返回控件蓝图的事件图表中,调用Get Text_0,并这样连线
在这里插入图片描述
编译运行之后,按钮的值变为MyText的值(GetText_0会首先被隐式调用为其绑定的属性赋值),然后我们点击按钮,这里再显式调用GetText_0利用其返回值打印出按钮的Text content,之后我们修改MyText的值,因为GetText_0是实时的,当我们修改其依赖参数MyText时,会再次隐式调用更新绑定的Text Content,所以按钮文本会变成NewVar1的值

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值