如何在hud里引用一个actor的变量?

[复制链接]
查看1828 | 回复7 | 2016-11-17 14:06:20 | 显示全部楼层 |阅读模式
QQ图片20161117140211.png
我想实现一个actor受到攻击后,显示其血量到hud界面中去。
方法是,在actor中创建一个HP的变量,在hud中对一个text 绑定一个函数,在函数面板中引用actor的变量,从而访问actor里的hp变量。然后与text绑定输出到视窗口,
但是发现图中被引用的actor无法选择默认值。(也就是无法选择被击中的actor)。
以往的actor引用actor。是因为2个actor都在关卡中,所以可以选择一个从详细面板中直接选中另一个要被引用的actor,但是hud无法扔进关卡里啊。那怎么引用另一个actor呢?
-------------------------------------------------------------------------------------------
还有能不能cast to 一个actor?怎么做呢?
秩亦 | 2016-11-17 16:42:50 | 显示全部楼层
可以用get actor from class,选择你的actor类,然后再cast to (?);或者给你的actor一个tag 也行。顺便一提,你这种绑定的方式比较耗性能,最好是用event dispatcher  ,每当血量变化,Call  绑定到 dispatcher  的HUD显示函数。
回复 支持 1 反对 0

使用道具 举报

lyjkensou | 2016-11-17 16:05:42 | 显示全部楼层
把char作为GetText的参数传入
回复 支持 反对

使用道具 举报

zhu24708 | 2016-11-17 16:28:10 | 显示全部楼层
lyjkensou 发表于 2016-11-17 16:05
把char作为GetText的参数传入

怎么作为参数?。我之前都是引用chair,然后在从chair访问变量.
回复 支持 反对

使用道具 举报

无桑 | 2016-11-17 17:32:24 | 显示全部楼层
在actor里建一个 dispatcher。HUD里调用就可以。
回复 支持 反对

使用道具 举报

lyjkensou | 2016-11-18 10:37:03 | 显示全部楼层
不知道你是用UMG还是GameMode中的HUD Class实现,但是这两种都是能在蓝图中获取到其引用的
得到引用后就可以调用你写的GetText方法
给方法添加参数和返回值的方法可以看官方的文档
https://docs.unrealengine.com/la ... unctions/index.html
回复 支持 反对

使用道具 举报

zhu24708 | 2016-11-18 16:50:38 | 显示全部楼层
dyyosh2006 发表于 2016-11-17 17:32
在actor里建一个 dispatcher。HUD里调用就可以。

dispatcher在hud的目标始终是要有的啊。可是。在hud 函数图表里,被引用的actor变量,根本无法选择实例。
回复 支持 反对

使用道具 举报

zhu24708 | 2016-11-18 16:53:10 | 显示全部楼层
秩亦 发表于 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 什么。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

19

主题

142

回帖

1270

积分

中阶编码师

积分
1270
QQ