我是 LibGDX 库的初学者。最近,我偶然发现了 Vector2
类中的 scl(float dt)
方法。我的问题是,它是用来做什么的?我知道 float dt
代表增量时间,即现在调用 render()
方法到最后一次调用 render()
方法之间的时间差> 方法。假设,为什么我需要使用 scl(float dt) 方法来使屏幕上的对象落下,而不是直接更改 y 轴?
最佳答案
首先,LibGDX 是一个框架,而不是一个库...它更像是一组可用于游戏开发和其他内容的库。当您将 2D vector 乘以标量时,只需将该标量的“x”值与“y”值相乘即可。例如,如果 <4,2> 是一个 vector ,将其与标量 3 相乘。得到的 vector 将是 <12, 6>。 即使该方法说:
scl(float dt)
这并不意味着您只能将其乘以渲染增量时间。您可以将任何 vector 乘以任何您想要的值。对于最后一个问题。 你为什么要使用它?嗯,这实际上取决于您想要解决的具体问题或您正在开发的游戏。我能想到的一个可能的原因是,如果你的“速度 vector ”(因为 Vector2 可用于速度、位置等)正在遭受“标量加速度”,所以每一帧你都将这个速度乘以一个标量,并且该对象将是每次都更快。这是一个需要此方法的人 LibGDX Multiply Vector2 with float value 。所以,你看,如果你需要它,你就会知道。
希望这有帮助。
关于java - LibGDX标度法的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38003830/