倒数从60秒

时间:2015-10-22 23:24:00

标签: c# time unity3d timespan

我在Unity3d中使用这个C#代码从零秒开始计数并显示结果并增加一个条形,但是现在我需要它从60秒开始倒计时,我已经将值替换为60 ,但它不起作用,它实际上从6分钟开始倒计时。

void UpdateTime()
{
    currentTime -= Time.deltaTime / 60f;

    barAmount = (int)Mathf.Lerp(0f, 100f, currentTime);

    timeBar.valueCurrent = barAmount;


    float cTime = 60f * currentTime;

    TimeSpan timeSpan = TimeSpan.FromSeconds(cTime);

    timeTxt.text = string.Format("{0:D2}:{1:D2}:{2:D2}:{3:D2}",timeSpan.Days ,timeSpan.Hours, timeSpan.Minutes, timeSpan.Seconds);

    Debug.Log (timeTxt.text);
}

我做错了什么?

1 个答案:

答案 0 :(得分:1)

//my json formatted api response
      {
 "URLfulfills": false,
 "Id": 16,
 "url": {
 "xid": 190,
 "title": "www.facebook.com",
 "description": "social site",
 },

我刚做了一个快速测试,它完美无瑕。你不需要除以60. public String s; public float currentTime = 60f; private int barAmount; void Update () { currentTime -= Time.deltaTime; barAmount = (int) Mathf.Lerp(0f, 100f, currentTime); // timeBar.valueCurrent = barAmount; float cTime = currentTime; TimeSpan timeSpan = TimeSpan.FromSeconds(cTime); s = string.Format("{0:D2}:{1:D2}:{2:D2}:{3:D2}",timeSpan.Days ,timeSpan.Hours, timeSpan.Minutes, timeSpan.Seconds); } 实际上只需几秒钟。