Unity 3d反向浮点值

问题描述 投票:0回答:1

我的迷你项目有两个按钮。 A和B。按A时,值开始增加;按B时,值开始减小。我的值从190开始,最大值为200。我还有一个剩余值float。我想要的是,当我按下B按钮并且我的值开始减小时,例如我的值达到120。现在剩余的浮点数将显示出差异,即80(最大值-当前值)。此剩余值显示为UI.Text。例如,当我按下A按钮时,剩余值接近最大值。 79,78,77,76等。但是我想要的是,剩余值应该在UI.text上从0到80而不是80到0显示。我希望您能理解。请帮助我解决此问题。

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class numvalues: MonoBehaviour {



    public float current_num = 190f;
    public Text current_numtxt;
    public float max_num = 200f;
    public float remaining_num;
    public Text remaining_numtxt;

    void Start () {

    }

    void Update()
    {

        if (Input.GetKeyDown(KeyCode.W))

            current_num -= 10 * Time.deltaTime;



        if (Input.GetKeyDown(KeyCode.X))

            current_num += 10 * Time.deltaTime;
            current_numtxt.text = current_num.ToString ("0");

            remaining_num = max_num - current_num; 
            remaining_numtxt.text = remaining_num.ToString ("0");

    }
}
unity3d 3d numbers reverse timedelta
1个回答
0
投票

尝试将另一个变量保持为lastSpeed。当您设置模式时,将lastSpeed设置为您所处的速度(在这种情况下为120),并且随着速度的增加,只需执行currentValue-lastSpeed即可。

© www.soinside.com 2019 - 2024. All rights reserved.