gpt4 book ai didi

c++ - 在UE4中,为什么要重写BeginPlay,为什么要在重写的BeginPlay中调用Super::BeginPlay?

转载 作者:行者123 更新时间:2023-11-28 04:47:06 28 4
gpt4 key购买 nike

我用 unity 制作了一些游戏,但我是 UE4 的新手,但我了解 C++。为什么我们不能像在 unity 的 start 和 update 中那样在不覆盖的情况下在 Tick 和 BeginPlay 函数中编写功能?这些函数调用行为是由ue4的行为树控制的,那么为什么我们需要在覆盖的tick函数中调用基类函数(Super::Tick)?

最佳答案

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

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

关于c++ - 在UE4中,为什么要重写BeginPlay,为什么要在重写的BeginPlay中调用Super::BeginPlay?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49063858/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com