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

What is the correct way to access a blueprint class component in C++

本文关键字:方法 是什么 组件 C++ 访问      更新时间:2023-10-16

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

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

任何帮助表示赞赏

您需要在Actor上调用GetComponentByClass()。 如果Enemy是组件,则可以调用getOwner()来检索拥有此组件的执行组件。 然后,您可以在此执行组件实例上调用GetComponentByClass()