ball_pos是如何计算的

我是新来的游戏开发,我正在尝试在Godot引擎上构建我的第一个Pong游戏。 我正在遵循的教程如下。

简单的乒乓游戏

我不明白的是这一行:

ball_pos += direction * ball_speed * delta 

如何计算新的球位置?

据我所知, delta是自上last _process()调用以秒计的时间(float)。

另外,为什么方向vector设置为(1.0, 0.0)

我正在寻找一个清晰的解释,因为教程没有解释太多。 谢谢。

    +=操作符将右侧操作数添加到左侧操作数。 所以这条线相当于

     ball_pos = ball_pos + direction*ball_speed*delta 

    所以direction*ball_speed*delta是新位置相对于旧位置的偏移量。 这是在这个框架中球行进的距离。 direction*ball_speed是球的速度结合其方向,所以它是一个向量。 方向是一个所谓的单位vector,所以它的长度是一个。 这代表球的速度(some distance-unit)/second 。 如果乘以自上次更新以来所经过的时间,则此帧中的位置发生更改。

    要了解更多关于这个,我建议研究线性代数的基础知识。

    主要是基于我所看到的类似的variables和公式,但ball_pos可能是一个向量(所以它有一个direction ,因此乘以direction来得到它的方向)。 ball_speed可能是速度,所以你需要知道它的行进/经过时间有多远, delta可能是计算之间的经过时间。

    那个+=基本上是说我在哪里,我进了什么方向,我在前一个时间框架上走了多快,现在我到哪里去了。

    方向设置为(#, 0)因为大概不是x,y,z方向,而只是x方向,基本上它是面向左或右(或者上下左右,取决于你在寻找什么动作)。