我最近一直在关注一个教程,对游戏开发很新。 LibGdx中有一个名为scl的方法。这是我的代码片段。我的问题是。它有什么作用。如果你能做详细的解释。请加一些。
public void update(float dt){
if(position.y > 0)
velocity.add(0, GRAVITY);
velocity.scl(dt);
Gdx.app.log("scl dt 1", Float.toString(velocity.y));
position.add(0, velocity.y, 0);
if(position.y < 0)
position.y = 0;
velocity.scl(1/dt);
}
答案 0 :(得分:0)
scl()
是Vector2
类的重载方法。
1. public Vector2 scl(float scalar)
按标量缩放矢量并返回。
2. public Vector2 scl(float x,float y)
将矢量乘以标量并返回自身。
3. public Vector2 scl(Vector2 v)
用另一个向量缩放你的向量并返回它自己。
在您的代码上方,您将按dt单位缩放矢量。
什么是dt?
dt是从前一个开始到当前对render()
的调用开始之间的时间。它只需要当前时间并从中减去前一次。该值的单位是秒。