【Unity】在物体上方显示UI并实现倒计时功能
【Unity】在物体上方显示UI并实现倒计时功能
实现效果
在物体上方显示UI
1.新建一个Canvas,其Render Mode设置成World Space,Event Camera选择任意一个相机
2.创建一个Cube,在Scene中调整Canvas的尺寸位置,使其位于Cube上方
实现倒计时功能
1.在Canvas下创建一个空物体,用来挂载倒计时脚本。在空物体下,创建一个Text,用来显示倒计时文字
2.实现倒计时
2.1使用协程的方式实现倒计时
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class DaoJiShi : MonoBehaviour
{
public float time = 100;
public Text text;
private void Start()
{
text = transform.Find("Text").GetComponent<Text>();
text.text = $"{(int)time / 60:D1}:{(int)time % 60:D2}";
StartCoroutine(Count());
}
private IEnumerator Count()
{
while (time > 0)
{
yield return new WaitForSeconds(1);
time--;
text.text = $"{(int)time / 60:D1}:{(int)time % 60:D2}";
}
}
}
2.2使用Dotween的方法实现倒计时
private int fromNumber = 0;
private int toNumber = 50;
private int duration = 10;
void Update()
{
text.text = number.ToString();
}
public void CountDown()
{
DOTween.To(() => fromNumber, x => fromNumber= x, toNumber, duration).SetEase(Ease.Linear);
}
版权声明:本文为qq_33894488原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。