提问者:小点点

如何在C#(Unity2D)中停止秒表并将其显示在屏幕上?


(这有unity3d标签,我不能删除它)我正在和我的朋友为一个学校项目制作一个游戏,我们正在努力制作一个平台,这只是一个游戏的最快时间。这是我们的第一个游戏,我们想在结束屏幕上显示文本,基本上使个人最好的时间领导板。这是我们的秒表脚本,它放在我们的主相机上

using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using UnityEngine;
using UnityEngine.UI;

public class Countdown : MonoBehaviour{
    public float timeStart;
    public Text textBox;

    // Start is called before the first frame update
    void Start()
    {
        textBox.text = timeStart.ToString("F2");
    }

    // Update is called once per frame
    void Update()
    {
        timeStart += Time.deltaTime;
        textBox.text = timeStart.ToString("F2");
    }
}

共1个答案

匿名用户

NET中有一个用于精确时间测量的对象,叫做秒表。

private Stopwatch stopwatch;
private void Start()
{
    stopwatch = Stopwatch.StartNew();
}

private void Update()
{
    if (finished)
        stopwatch.Stop();
    Debug.Log($"Elapsed time: {stopwatch.Elapsed}");
}