UE4 UI更新的三种方式及具体实现的方式(最优化的方式是事件驱动)

UE4中UI的更新分为下面三种方式:函数绑定和属性绑定是Tick更新的,也就是说每帧都在调用数据就行更新,他们俩个原理是一样的,最优化的方式是事件绑定!

1、函数绑定:
百分比血量 来举例
1、拖入Progress Bar
UE4 UI更新的三种方式及具体实现的方式(最优化的方式是事件驱动)_第1张图片
2、在Progress里新建绑定函数
UE4 UI更新的三种方式及具体实现的方式(最优化的方式是事件驱动)_第2张图片
3、设置如下:为了优化考虑,先将获得玩家角色做成一个函数,方便调用
UE4 UI更新的三种方式及具体实现的方式(最优化的方式是事件驱动)_第3张图片
4、这里回到FPP_Character里面新建2个变量Health和MaxHealth,并且将MaxHealth的值赋值给Health;
UE4 UI更新的三种方式及具体实现的方式(最优化的方式是事件驱动)_第4张图片
UI里面刚刚新建的函数改一下名字,方便后期调整,具体设置如下:
UE4 UI更新的三种方式及具体实现的方式(最优化的方式是事件驱动)_第5张图片
2、属性绑定
这里我们用血量和数字来实现
1、拖入一个文本,设置如下:
UE4 UI更新的三种方式及具体实现的方式(最优化的方式是事件驱动)_第6张图片
2、进入UI蓝图界面,新建变量为Text属性,不然文本绑定那里读取不到
UE4 UI更新的三种方式及具体实现的方式(最优化的方式是事件驱动)_第7张图片
3、具体设置如下:
UE4 UI更新的三种方式及具体实现的方式(最优化的方式是事件驱动)_第8张图片
4、回到Designer界面,设置如下:
UE4 UI更新的三种方式及具体实现的方式(最优化的方式是事件驱动)_第9张图片
至此,函数绑定和属性绑定都已经实现完毕,测试!

3、事件绑定
这里大概说下几个关键点,不举例子了:
1、首先在角色蓝图里的触发事件中添加一个事件调配器,和触发事件的逻辑连上,这里用Call,意思就是这个事件触发时这个事件调配器就也会触发;有了这个触发器就可以做很多事了;
UE4 UI更新的三种方式及具体实现的方式(最优化的方式是事件驱动)_第10张图片
2、在UI的蓝图里设置如下:这里调用事件调配器的时候用Bind,具体就不多解释了,说下意思:就是当上面这个事件调配器响应时(这里添加一个自定义事件也是方便驱动UI里面要实现的功能)UI就会被驱动,然后来实现功能;
UE4 UI更新的三种方式及具体实现的方式(最优化的方式是事件驱动)_第11张图片

这里做个简单的总结:这3个方式各有利弊,但整体来说,为了项目的优化还是多考虑事件驱动,就是麻烦一些,考虑的要多一些!!!!

你可能感兴趣的:(UE4,UMG)