如何降低滑块值

时间:2019-02-22 11:29:56

标签: c# unity3d slider

我将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;

            }

          }
     }

enter image description here

1 个答案:

答案 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值。