gpt4 book ai didi

java - java中的跳球物理,重力

转载 作者:搜寻专家 更新时间:2023-10-31 20:27:47 27 4
gpt4 key购买 nike

我编写了一个简单的代码来获取跳球的位置,但我肯定错过了一些东西,因为我得到了这个:http://i60.tinypic.com/2guxibn.png

这是获取 x 和 y 位置的代码:

public Vector2f[] draw() {
float x = 0, y = height; // height - float value from class constructor;
ArrayList<Vector2f> graphic = new ArrayList<Vector2f>();
for(;;){
Vector2f a = new Vector2f(x, y);
graphic.add(a);
ySpeed -= 10;
y += ySpeed*Math.cos(angle);
x += xSpeed*Math.sin(angle);
if(y <= 0){
// float coef = -10 * y / ySpeed;
// ySpeed = ((ySpeed + coef) * (-1) ) * bouncyness;
ySpeed = (ySpeed * (-1)) * bouncyness;
System.out.println(ySpeed + " " + y);
y = 0;
}
if(x > Main.width)
break;
}
Vector2f[] graphicArray = new Vector2f[graphic.size()];
for (int i = 0; i < graphic.size(); i++) {
graphicArray[i] = graphic.get(i);
}
return graphicArray;
}

最佳答案

关于它的迭代y在第一次运行时低于 X 轴。然后归零,
所以最大height您将在该迭代中获得的结果低于原始 height .
以后也一样,
直到 y将在不设置为 0 的情况下变为 0(我认为它总是会收敛到它)。
如果您将设置 height除以 10它应该看起来不错。

对于弹跳案例更改 if ( y <= 0)if ( y<= 10 )并删除 y = 0声明。
正确的情况(不是弹跳),设置y = Math.abs(y)

关于java - java中的跳球物理,重力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27817923/

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