在UE4中,为什么我们需要覆盖BeginPlay,为什么我们需要在覆盖的BeginPlay中调用Super::BeginPlay?
In UE4, why we need to override the BeginPlay and why we need to call Super::BeginPlay in overridden BeginPlay?
我用 unity 制作了一些游戏,但我是 UE4 的新手,但我知道 c++。为什么我们不能像在 unity 的 start 和 update 中那样在不覆盖的情况下在 Tick 和 BeginPlay 函数中编写功能?这些函数的调用行为是由 ue4 的行为树控制的,那么为什么我们需要在覆盖的 tick 函数中调用基础 class 函数(Super::Tick)?
BeginPlay和Tick是继承方法。 Override 是一个 C++ 指令,它要求编译器确保您的方法签名与继承的签名匹配。 Super只是指继承class。当您调用 Super::Tick 时,您是在说您希望重写方法执行与继承方法相同的操作,然后,您希望执行您添加的任何附加功能。
您可以在不调用 Super class 的情况下调用这些函数,但是您将无法使用任何基本功能。
我用 unity 制作了一些游戏,但我是 UE4 的新手,但我知道 c++。为什么我们不能像在 unity 的 start 和 update 中那样在不覆盖的情况下在 Tick 和 BeginPlay 函数中编写功能?这些函数的调用行为是由 ue4 的行为树控制的,那么为什么我们需要在覆盖的 tick 函数中调用基础 class 函数(Super::Tick)?
BeginPlay和Tick是继承方法。 Override 是一个 C++ 指令,它要求编译器确保您的方法签名与继承的签名匹配。 Super只是指继承class。当您调用 Super::Tick 时,您是在说您希望重写方法执行与继承方法相同的操作,然后,您希望执行您添加的任何附加功能。
您可以在不调用 Super class 的情况下调用这些函数,但是您将无法使用任何基本功能。