unity体感游戏--接钻石游戏(二)游戏倒计时

来源:互联网 发布:mysql 统计重复数据 编辑:程序博客网 时间:2024/05/01 15:03

这段代码主要是完成的功能是游戏中倒计时的显示和实现。倒计时主要用了Time类中的time,但是要注意的是time是游戏开始运行就记录时间。一般游戏都用一个界面什么点击之后才能进入游戏所以在Start()方法中添加了一句:allTime = allTime + Time.time;倒计时是用一个数组来表示,获取myStringScore的长度,在用GUI的GUI.DrawTexture

绘画到界面上。需要注意的是mycolor的透明度一开始是0这个需要注意调整成255要不就是绘制出来你也看不到。

using UnityEngine;using System.Collections;public class GameTime : MonoBehaviour {    public string myStringScore;      public float x = 85;    public float y = 19;    public float scale = 1;    public Color myColor;    //定义数组    public Texture[] myNumber = new Texture[10];    //public Texture Tex;    //    private int index = 0;    private int width = 30;    private int height = 72;    //private displayScore displayTotalScore;    public float allTime = 100;    public float countTime;  // Use this for initializationvoid Start () {        allTime = allTime + Time.time;  }// Update is called once per framevoid Update () {        }    void FixedUpdate()     {        countTime = allTime - Time.time;        countTime = Mathf.Ceil(countTime);        myStringScore = countTime.ToString();    }   void OnGUI()   {       GUI.color = myColor;       myColor.a = 255f;       if (myStringScore != null)       {           for (int i = 0; i < myStringScore.Length; i++)           {               GUI.DrawTexture(new Rect(x + i * scale * width, y, scale * width, scale * height),               myNumber[int.Parse(myStringScore.Substring(i, 1))], ScaleMode.StretchToFill, true, 0);               //GUI.DrawTexture(new Rect(x + i * scale * width, y, scale * width, scale * height),myNumber[myStringScore[i]-48]);           }       }       else           return;   }}