目录

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

目录

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

这段代码主要是完成的功能是游戏中倒计时的显示和实现。倒计时主要用了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 initialization
	void Start () {
        allTime = allTime + Time.time;  
	}
	
	// Update is called once per frame
	void 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;
   }
}