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