umg传递数据到HUD的第三种方法-按事件驱动
前面讲了两种,一个是直接传成员变量,一种是get()函数。
回顾下:
1,在hud的构造函数蓝图中,传递controller的指针过去,作为成员变量
2,(1)传成员变量
this->value = controller->value;
(2)传递函数
getXXX <-> return node 对
好比
std::string getStr()
{
std::string newValue = controller->value;
return newValue;
}
第一二种方法大同小异。只是书写方式的不同。
现在看事件驱动UI更新。也就是代理的方式
1,在UI的构造函数里,不再传指针,而是bind事件,事件的一端是UI,另一端则将controller->newValue;
2,在人物的控制端,在事件调度器建立事件,一有输入,则调用这个事件,这边造炸药包,谁愿绑谁绑,炸着谁算谁。这边造好后,只管输入,更新值,按按钮即可。
energy事件类似。
这次传Energy,只要按P键,则energy*0.9
2,在HUD蓝图端构造函数获得Character指针,并绑定事件到Character
energy事件类似
运行结果