java - LibGDX标度法的使用

标签 java libgdx

我是 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/

相关文章:

java - Derby Db NoClassDefFoundError 无法在 Netbeans 之外工作

java - 警报对话框仅模糊部分屏幕

java - Android JSON 解析与转换

java - libGdx--尝试使用 libgdx.g3d 加载 obj 模型时出现黑屏

android - 通过 .g3db 文件处理 Bullet 中的碰撞

java - i 和 i=i++ 在 for 循环 java 中

java - 从 Java 中启动 tomcat

android - 我想在 Libgdx 的屏幕上重复触摸/点击动画

java - 你如何计算具有初始高度的弹丸的位移?

java - libGDX spiriteBatch.draw() 没有定位在正确的位置