gpt4 book ai didi

java - 在 Libgdx Java 中使用力移动对象

转载 作者:行者123 更新时间:2023-12-01 09:53:58 25 4
gpt4 key购买 nike

我的任务是使用 LibGdx 游戏引擎在 java 中创建自己的碰撞物理引擎。这是自上而下的,所以忽略重力。我一直在思考如何向物体施加力。我通过计算一段时间内速度的变化来计算加速度。以下是如何找到 x 分量的加速度:

    Vector2 velX = new Vector2();
public void update(){
timer += Gdx.graphics.getDeltaTime();

movementSpeed = 5 * Gdx.graphics.getDeltaTime();
coordinates.x += vel.x;
coordinates.y += vel.y;
if( timer >= .5f && timer < 1){
velX.x = vel.x;
}
if(timer >= 1){
velX.y = vel.x;
acceleration.x = (float) ((velX.y - velX.x)/ (1 - .5));
timer = 0;
}

vel.x 是 x 速度,velX 是一个 Vector2,用于存储不同时间速度的 x 分量( I我使用中值定理)。本质上,我已经找到了 x 分量的加速度。现在,如果我施加一个力,我就会得到加速度*质量。这是我完全困惑的地方。

F = ma。是的,所以我可以获得一个力变量。但是我现在如何使用这个力来适本地影响速度。本质上,施加力后,速度应该发生变化。当速度是两个完全不同的变量(牛顿和米/秒)时,如何改变某个力值的速度。

非常感谢您提供任何帮助。

最佳答案

对于初始速度 v1 和质量 m1,初始动量 p1 = v1m1。 (m1 + m2)vf = m1v1 也是如此,假设第二个物体的初始速度为 0。这意味着两个物体的最终速度将称为最终速度 vf = m1 * v1/m1 + m2。

如果您打算用现实物理碰撞移动物体,我建议您学习一些高级物理类(class)/教程。

关于java - 在 Libgdx Java 中使用力移动对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37385971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com