Unity写一个记时间的,打算从项目开始到项目结束一共花了多长时间,把时间展现出来
时间: 2024-12-16 19:27:38 浏览: 12
在Unity中创建一个计时器记录项目从开始到结束的时间,你可以按照以下步骤操作:
1. 首先,在Unity编辑器中创建一个新的空物体作为游戏场景的根对象。
2. 创建一个脚本组件(例如C#),命名为`TimeTracker`。在`Start()`函数里设置一个`DateTime`变量,表示项目开始的时间。例如:
```csharp
using UnityEngine;
using System;
public class TimeTracker : MonoBehaviour
{
public TextMeshProUGUI timeDisplay; // 文本显示组件
private DateTime startTime;
void Start()
{
startTime = DateTime.Now;
timeDisplay.text = "00:00:00"; // 初始时间设为00:00:00
}
}
```
3. 在`Update()`函数中获取当前时间和开始时间的差值,并将其转换成小时、分钟和秒的格式:
```csharp
void Update()
{
TimeSpan elapsedTime = DateTime.Now - startTime;
timeDisplay.text = elapsedTime.ToString(@"hh\:mm\:ss");
}
```
4. 确保将`timeDisplay`组件添加到了场景中的某个UI元素上,以便用户可以看到计时结果。
5. 当项目结束时(比如玩家关闭应用程序或者达到某个特定条件),可以在适当的地方停止更新计时器并保存总时间,例如在一个`OnApplicationQuit()`回调函数里:
```csharp
void OnApplicationQuit()
{
SaveTotalTime();
}
private void SaveTotalTime()
{
if (startTime != default)
{
TimeSpan totalTime = DateTime.Now - startTime;
Debug.Log($"项目总耗时: {totalTime}");
}
}
```
现在,这个脚本会持续记录游戏运行时间,并在项目退出时提供总的运行时长。
阅读全文