gpt4 book ai didi

java - 默认车速?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:31:10 25 4
gpt4 key购买 nike

我的程序中有两个按钮。左键用于刹车(减速),右键用于加速(加速)。当没有点击时,汽车有一个默认速度。并且有最小 (0.3) 和最大 (2) 速度。现在,我在这里写了这个:

private float _speed = 1f;


if (ButtonClicked) {

if (brake) {

float tempSpeed = _speed;
tempSpeed -= 0.05f;

if (tempSpeed <= 0.3) {
//
} else {
_speed -= 0.05f;
}

}

if (speed) {

float tempSpeed = _speed;
tempSpeed += 0.1f;

if (tempSpeed >= 2) {
//
} else {
_speed += 0.1f;
}

}

} else {

float tempSpeed = _speed;

if (tempSpeed < 1) {
_speed += 0.1f;
}

if (tempSpeed > 1) {
_speed -= 0.1f;
}
}

我不喜欢的部分是“ButtonsClicked”的“其他”部分。这是默认车速部分。我提高或降低速度。车动起来不好看,就是因为这个增减。我怎样才能让它变得更好?我的意思是,当什么都没有点击时,车速保持不变而不增加或减少?

最佳答案

我认为问题是一旦达到默认速度,它会不断加速/刹车以保持该速度。由于您的问题并没有真正很好地解释问题,我们不确定。

这是我的意思的一个例子,您需要在默认速度周围创建一个“死区”:

private final float MAX_SPEED = 2f;
private final float MIN_SPEED = 0.3f;

private final float DEFAULT_SPEED = 1f;

private final float ACCEL_SPEED = 0.1f;
private final float BRAKE_SPEED = 0.05f;

private float _speed = DEF_SPEED;

if (ButtonClicked)
{
if (accelerate)
{
_speed = Math.min(_speed + ACCEL_SPEED, MAX_SPEED);
}

if (brake)
{
_speed = Math.max(_speed - BRAKE_SPEED, MIN_SPEED);
}
}
else
{

// only modify the speed if its far off to
// prevent it from constantly accelerating and braking
// (modify the 0.5f to increase/decrease the 'dead zone')
if (Math.abs(_speed - DEFAULT_SPEED) > 0.5f)
{
// slowly reset to default speed
if (_speed < DEFAULT_SPEED)
_speed += ACCEL_SPEED;

if (_speed > DEFAULT_SPEED)
_speed -= BRAKE_SPEED;
}
}

关于java - 默认车速?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15782337/

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