c++ - 在 C++ 中访问蓝图类组件的正确方法是什么

标签 c++ unreal-engine4 unreal-blueprint unrealscript

我最近从 unity 切换过来,我想知道 UE4 中是否有等效的“getComponent”?我有一个敌人脚本,我从该脚本创建了一个蓝图,并添加了一个带有进度条的小部件,以显示战斗期间敌人的健康状况。我已经在蓝图中看到了很多关于如何执行此操作的示例,但如果可能的话,我只想在代码中执行此操作,并在需要时计算百分比,例如在损坏后或其他情况下,而不是通过绑定(bind)蓝图。

我曾尝试使用 getcomponentbyclass 方法,但会引发错误,因为我想要的组件不是 actor 类的子组件。

感谢任何帮助

最佳答案

您需要在 Actor 上调用 GetComponentByClass()。 如果您的 Enemy 是一个组件,您可以调用 getOwner() 来检索拥有该组件的 actor。 然后,您可以对该 actor 实例调用 GetComponentByClass()

关于c++ - 在 C++ 中访问蓝图类组件的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59832329/

相关文章:

c++ - 如何在 UE4/c++ 中可视化我的四叉树

unreal-engine4 - 如何在没有 InputAction 的情况下获得 Action Key?

c++ - 您可以将多少 "data"放入字符串中?

c++ - Lemon Graph Library C++ 在节点中添加坐标

unreal-engine4 - 有没有办法将已经制作好的蓝图转换为虚幻中另一个 BP 的子类?

c++ - 在 Unreal 4 插件中链接 DLL

c++ - 将整数转换为字符串 C++

python - 在 C++ 和 Python 之间交换数据的最快方法?

unreal-engine4 - 将纹理的 STRING 名称转换为蓝图中的 TEXTURE 引用

audio - Web浏览器的声音衰减