本文主要是介绍unity体感游戏--接钻石游戏(二)游戏倒计时,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这段代码主要是完成的功能是游戏中倒计时的显示和实现。倒计时主要用了Time类中的time,但是要注意的是time是游戏开始运行就记录时间。一般游戏都用一个界面什么点击之后才能进入游戏所以在Start()方法中添加了一句:allTime = allTime + Time.time;倒计时是用一个数组来表示,获取myStringScore的长度,在用GUI的GUI.DrawTexture
绘画到界面上。需要注意的是mycolor的透明度一开始是0这个需要注意调整成255要不就是绘制出来你也看不到。
using UnityEngine;
using System.Collections;public class displayTime : 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;public float allTime = 100;public float countTime;void Start(){allTime = allTime + Time.time;}void FixedUpdate(){countTime = allTime - Time.time;print(countTime);myStringScore = countTime.ToString();if (countTime <= 0){//游戏结束之后进行设置countTime = 0;Application.LoadLevelAdditive(4);//Application.Quit();//退出游戏// print("countTime");// return;}else{return;}}void Update() {} // Use this for initializationvoid OnGUI () {GUI.color = myColor;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]);}}}}
这篇关于unity体感游戏--接钻石游戏(二)游戏倒计时的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!