在UE4中,为什么我们需要覆盖BeginPlay以及为什么我们需要在重写的BeginPlay中调用Super :: BeginPlay?

时间:2018-03-02 06:29:39

标签: c++ override abstract unreal-engine4

我在团结中制作了一些游戏,但我是UE4的新手,但我知道c ++。为什么我们不能像在Unity的启动和更新中那样在Tick和BeginPlay函数中编写功能而不重写?这些函数调用行为是由ue4的行为树控制的,那么为什么我们需要在重写的tick函数中调用基类函数(Super :: Tick)?

1 个答案:

答案 0 :(得分:1)

BeginPlay和Tick是继承的方法。 Override是一个C ++指令,要求编译器确保您的方法签名与继承的签名匹配。超级只是指继承的类。当您调用Super :: Tick时,您说您希望覆盖方法执行与继承方法相同的操作,之后,您希望执行您添加的任何其他功能。

您可以在不调用Super类的情况下调用这些函数,但之后您将无法使用任何基本功能。