虚幻引擎4:超级::滴答(增量时间)
Unreal Engine 4: Super::Tick ( DeltaTime )
所以我是虚幻引擎4的新手,认为他们网站上发布的文档是一个很好的起点。但是,我正在努力解决有关编码部分的一些事情(我有一个相当不错的C++知识)。这是我遇到一些麻烦的代码摘录:
void AFloatingActor::Tick( float DeltaTime )
{
Super::Tick( DeltaTime );
FVector NewLocation = GetActorLocation();
float DeltaHeight = (FMath::Sin(RunningTime + DeltaTime) - FMath::Sin(RunningTime));
NewLocation.Z += DeltaHeight * 20.0f; //Scale our height by a factor of 20
RunningTime += DeltaTime;
SetActorLocation(NewLocation);
}
我不明白这是如何工作的。我几乎得到了陈述,但我不明白它是如何工作的。所以tick基本上是一个称为每个tick(帧)的函数,添加的任何其他语句都是为了编辑每一帧的actor的逻辑。这是如何工作的?第一个语句"Super::Tick ( DeltaTime );"不应该引起无休止的递归,因为没有基本(停止)情况吗?任何帮助将不胜感激。非常感谢
这里没有递归 - 它调用的是Super::Tick
,而不是它自己。
Super
很可能是基类的 typedef,旨在让您在所有情况下都可以调用其函数,而不必记住它的实际名称。
因此,Super::Tick(DeltaTime);
调用基类中的 Tick
函数(并将其作为参数传递DeltaTime
)。如果您覆盖了一个函数,但仍希望发生"正常"内容以及您在覆盖中编写的内容,这将非常有用。
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- 从持续时间构造std::chrono::system_clock::time_point
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- while循环中while循环的时间复杂度是多少
- 使用简单类型列表实现的指数编译时间.为什么
- 是否可以在编译时初始化数组,以便在运行时不会花费时间?
- 在已经使用Git的情况下减少编译时间
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- 如何将包含epoch时间的十六进制字符串转换为time_t
- 从文本文件中读取时钟时间和事件时间并进行处理
- 具有未知值时的时间复杂性
- 如何减少花费的时间
- C++在变量给定的指定时间内关闭电脑
- rcpp函数中的清理时间很长
- C++:floor unix时间戳到UTC月份
- 如何在c++中录制具有精确帧时间戳的视频
- 在两台机器之间进行时间戳的最佳c++chrono函数是什么
- KMP算法和LPS表构造的运行时间
- 超级强大:实时音调转换,时间扩展器不工作
- 虚幻引擎4:超级::滴答(增量时间)