【Unity】在物体上方显示UI并实现倒计时功能

【Unity】在物体上方显示UI并实现倒计时功能

  • 实现效果
  • 在物体上方显示UI
    • 1.新建一个Canvas,其Render Mode设置成World Space,Event Camera选择任意一个相机
    • 2.创建一个Cube,在Scene中调整Canvas的尺寸位置,使其位于Cube上方
  • 实现倒计时功能
    • 1.在Canvas下创建一个空物体,用来挂载倒计时脚本。在空物体下,创建一个Text,用来显示倒计时文字
    • 2.使用协程的方式实现倒计时

实现效果

【Unity】在物体上方显示UI并实现倒计时功能_第1张图片

在物体上方显示UI

1.新建一个Canvas,其Render Mode设置成World Space,Event Camera选择任意一个相机

【Unity】在物体上方显示UI并实现倒计时功能_第2张图片

2.创建一个Cube,在Scene中调整Canvas的尺寸位置,使其位于Cube上方

【Unity】在物体上方显示UI并实现倒计时功能_第3张图片

实现倒计时功能

1.在Canvas下创建一个空物体,用来挂载倒计时脚本。在空物体下,创建一个Text,用来显示倒计时文字

在这里插入图片描述

2.使用协程的方式实现倒计时

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}";
        }
    }
}

你可能感兴趣的:(unity,ui,游戏引擎,c#)