我将maxFuelCount值减小-1。计数器会按预期下降。但是,当我长按踏板时,计数器会非常快。如何降低计数器值?我尝试了这个* Time.deltaTime / 1.5f,但它没有达到我的预期。谁能建议一种方法或提供任何指导
非常感谢您的帮助
private void FixedUpdate()
{
if (move == true)
{
// decreasing the float value
maxFuelCount--;
if (maxFuelCount > 0 && timeLeft > 0)
{
rb.AddForce(transform.right * engineCapacity * Time.fixedDeltaTime * turboCapacity, ForceMode2D.Force);
//asigning the decreased value to the slider
UIBS.NewValue = maxFuelCount * Time.deltaTime / 1.5f;
}
}
}
答案 0 :(得分:3)
每压一次框架气体,您就减少1。一秒钟以50 fps的速度将几乎减少50,这很多。只需降低减少MaxFuelCount
的数量即可。您也许可以使用MaxFuelCount -= Time.deltaTime;
要使其变得更好,您可以使用speed
计数器,该计数器可以根据地形特征进行调整,例如,如果您处于泥泞状态,燃油消耗速度会像这样增加:
MaxFuelCount -= Time.deltaTime * speed;
将速度提高或降低到您对速度感到满意的程度。
此外,UIBS.NewValue = maxFuelCount * Time.deltaTime / 1.5f;
无效。同样,以50 fps的速度将这次的值除以近33,这将非常快地降低该值。
另外,将两个变量保存为MaxFuelAmount
(油箱可以容纳的燃油量)和CurrentFuelAmount
也更有意义。
然后,您可以计算百分比:CurrentFuelAmount / MaxFuelAmount * 100
,并将其用于您的UI值。