如何在hud里引用一个actor的变量?
我想实现一个actor受到攻击后,显示其血量到hud界面中去。
方法是,在actor中创建一个HP的变量,在hud中对一个text 绑定一个函数,在函数面板中引用actor的变量,从而访问actor里的hp变量。然后与text绑定输出到视窗口,
但是发现图中被引用的actor无法选择默认值。(也就是无法选择被击中的actor)。
以往的actor引用actor。是因为2个actor都在关卡中,所以可以选择一个从详细面板中直接选中另一个要被引用的actor,但是hud无法扔进关卡里啊。那怎么引用另一个actor呢?
-------------------------------------------------------------------------------------------
还有能不能cast to 一个actor?怎么做呢?
可以用get actor from class,选择你的actor类,然后再cast to (?);或者给你的actor一个tag 也行。顺便一提,你这种绑定的方式比较耗性能,最好是用event dispatcher,每当血量变化,Call绑定到 dispatcher的HUD显示函数。 把char作为GetText的参数传入 lyjkensou 发表于 2016-11-17 16:05
把char作为GetText的参数传入
怎么作为参数?。我之前都是引用chair,然后在从chair访问变量. 在actor里建一个 dispatcher。HUD里调用就可以。 不知道你是用UMG还是GameMode中的HUD Class实现,但是这两种都是能在蓝图中获取到其引用的
得到引用后就可以调用你写的GetText方法
给方法添加参数和返回值的方法可以看官方的文档
https://docs.unrealengine.com/latest/CHN/Engine/Blueprints/UserGuide/Functions/index.html dyyosh2006 发表于 2016-11-17 17:32
在actor里建一个 dispatcher。HUD里调用就可以。
dispatcher在hud的目标始终是要有的啊。可是。在hud 函数图表里,被引用的actor变量,根本无法选择实例。 秩亦 发表于 2016-11-17 16:42
可以用get actor from class,选择你的actor类,然后再cast to (?);或者给你的actor一个tag 也行。顺便一 ...
怎么cast to 一个actor。看官网的介绍只有5种cast :角色 、 控制器、hud、game、pawn。因为objuect里可以get到他们。
但是cast to 一个actor。那他的objuect该get 什么。
页:
[1]