我统一制作了一些游戏,但是我对UE4还是陌生的,但我了解c ++。为什么我们不能像在unity的启动和更新中那样编写Tick和BeginPlay函数中的功能而又不能覆盖呢?这些函数的调用行为是由ue4的行为树控制的,那么为什么我们需要在覆盖的tick函数中调用基类函数(Super :: Tick)?

最佳答案

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

您可以在不调用Super类的情况下调用这些函数,但是您将没有任何基本功能。

10-04 23:01
查看更多