Unity 根据 数字 让 显示游戏总时长的txt直接显示该个 时间时分秒显示方法

2023-12-25 12:21:19

Unity 根据 数字 让 显示游戏总时长的txt直接显示该个 时间时分秒显示方法

效果如下:?

上代码

void Update(){

int timeER =int.Parse((txt_gameTimesER -= Time.deltaTime).ToString("00"));

Set_All_PlayTime_txtLookTime(timeER,bg.txt_LastTime);
}



	/// <summary>
	/// 根据 数字 让 显示游戏总时长的txt直接显示该个 时间的函数
	/// (1.填入 直接显示的数字,2.填入用于显示的 text组件)
	/// </summary> 
	private void Set_All_PlayTime_txtLookTime(int count, Text txt)
	{
		//获取 该个数字的长度
		string str = count.ToString();

		if (str.Length >= 1)
		{
			//把1个数字 转换成 小时:分钟:秒数 
			TimeSpan ts = new TimeSpan(0, 0, Convert.ToInt32(count));

			string strs = "";

			//如果 这个数字达到了小时;把这1个数字 转换成 小时:分钟:秒数 的格式
			if (ts.Hours > 0)
			{
				strs = ts.Hours + ":" + ts.Minutes.ToString() + ":" + ts.Seconds;
			}

			//如果这个数字 达不到小时,并且这个数字达到了分钟;把这1个数字 转换成 分钟:秒数 的格式
			if (ts.Hours == 0 && ts.Minutes > 0)
			{
				if (ts.Minutes.ToString().Length == 1)
				{
					if (ts.Seconds.ToString().Length == 1)
					{
						strs = "0" + ts.Minutes.ToString() + ":0" + ts.Seconds;
					}
					else
					{
						strs = "0" + ts.Minutes.ToString() + ":" + ts.Seconds;
					}

				}
				else if (ts.Minutes.ToString().Length == 2)
				{

					if (ts.Seconds.ToString().Length == 1)
					{
						strs = ts.Minutes.ToString() + ":0" + ts.Seconds;
					}
					else
					{
						strs = ts.Minutes.ToString() + ":" + ts.Seconds;
					}
				}
			}

			//如果这个 数字 达不到小时 并且 达不到分钟; 把这1个数字 转换成 00小时:00分钟:xx秒数 的格式
			if (ts.Hours == 0 && ts.Minutes == 0)
			{
				if (str.Length == 1)
				{
					strs = "00:" + "0" + ts.Seconds;
					//strs = "00:00:0" + ts.Seconds;00小时:00分钟:0x秒数
				}
				else if (str.Length == 2)
				{
					strs = "00:" + ts.Seconds;
					//strs = "00:00:" + ts.Seconds;00小时:00分钟:xx秒数
				}


			}

			//最后赋值 让txt显示
			txt.text = strs;

		}

	}

文章来源:https://blog.csdn.net/weixin_39114763/article/details/135193021
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。