【发布时间】:2013-04-03 08:28:26
【问题描述】:
我的程序中有两个按钮。左按钮刹车(降低速度)和右按钮速度(增加速度)。当没有点击时,汽车具有默认速度。并且有最小 (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”的“else”部分。这是默认的汽车速度部分。我增加或减少速度。车子动起来不好看,就是因为这个增减。我怎样才能让它变得更好?我的意思是,当什么都没有点击时,车速不会增加或减少吗?
【问题讨论】:
-
为什么在什么都没有发生的情况下会有一个事件?你是怎么进入那个
else的? -
如果你想要一个恒定的车速,然后删除“else”部分
-
当没有人点击这些按钮之一时,它会转到其他部分。
-
当我删除else部分时,我在哪里增加或减少到默认速度1?
-
机芯哪里不好看?作为猜测:您的“默认”加速度与用户控制的加速度相同 - 也许使用较低的值会产生更好的效果?尝试在
else块中将0.1f更改为0.01f,看看是否有帮助。
标签: java performance algorithm logic game-physics