Unity3D-简单的倒计时

using UnityEngine; using System.Collections; using System; /* * 用法:新建一个场景,新建一个3D Text,把该3D Text的Transform重置一下,给它添加该脚本,运行即可 */



public class TestTime : MonoBehaviour { private int currentPower = 5;//当前体力值

    private int maxPower = 10;//最大体力值

    private int powerUpdateTime = 70;//过多少秒赠送玩家体力值



    private  DateTime powerLastSaveTime;//体力值上次保存时间

    private DateTime targetTime;//目标时间



    void Start () { //初始化保存时间,可以在第一次进入游戏时保存,每次时间到了也要跟新

        powerLastSaveTime = DateTime.Now; } //使用了系统时间,游戏暂停了,时间也会继续更新

    void Update () { if (currentPower < maxPower) { targetTime = powerLastSaveTime.AddSeconds(powerUpdateTime); string time = targetTime.Subtract(DateTime.Now).ToString().Substring(3, 5); //时间到了,增加体力值,重新计时

            if (DateTime.Now >= targetTime) { powerLastSaveTime = DateTime.Now; currentPower++; } gameObject.GetComponent<TextMesh>().text = time; } else { Debug.Log("体力值已经最大"); } } }

 

你可能感兴趣的:(unity3d)