2 回答
TA贡献2039条经验 获得超7个赞
修复它只需要做一行简单的代码,它甚至可以正确地调整速度波动:
double velocity = 0;
double initVelX;
double initVelZ;
double time = 0;
float x;
float y;
float z;
public void bounce() {
double initialVelocity = 0.1;
double speed = 1/2500.0;
if(time == 0) {
velocity = initialVelocity;
}
time += speed;
velocity = velocity - 9.8 * speed;
if(y + velocity < 0.1){
velocity *= -1;
velocity = initialVelocity;
}
y += velocity;
setPosition(new Vector3f(getPosition().x,y,getPosition().z));
}
TA贡献1998条经验 获得超6个赞
我认为这将是这些增量语句之一:
velocity += initialVelocity;
time += speed;
velocity *= -1;
y += velocity;
您是否希望所有这些都不断上升?因为这就是会发生的事情。你的代码的哪一部分计算了跳跃的高度?
添加回答
举报