【源码】倒计时脚本

来源:互联网 发布:淘宝助理更新类目 编辑:程序博客网 时间:2024/06/05 12:43

【原创】倒计时脚本
直接放在Camera上

using UnityEngine;using System.Collections;using System;public class CountTime : MonoBehaviour { public int totalSeconds = 60; int leaveSeconds; bool onCountDown = false; string countDownTitle = "开始"; void Awake() {  leaveSeconds =totalSeconds; } void OnGUI() {  GUI.Button(new Rect(50, 50, 50,50), leaveSeconds.ToString());  if (GUI.Button(newRect(150,50,80,30),countDownTitle))  {   if(countDownTitle == "开始")   {    countDownTitle= "暂停";    onCountDown= true;    StartCoroutine(DoCountDown());   }   else   {    countDownTitle= "开始";    onCountDown= false;    StopAllCoroutines();//只要StartCoroutine后就一直存在,而且还会叠加。导致一秒要减你2,3,4...秒不等。所以在暂停的时候要StopAllCoroutines()   }  } } // Use this for initialization void Start () { } // Update is called once per frame void Update () {  print(countDownTitle.ToString()+",leaveseconds:"+leaveSeconds.ToString());  //if (onCountDown)  //{  // onCountDown = false;  //StartCoroutine(DoCountDown());  //}//一开始StartCoroutine是放在Update下触发的,需要加判断,并且要暂停的时候逻辑上不好控制,改到在OnGUI内鼠标点击后控制 } IEnumerator DoCountDown() {  while (leaveSeconds>0)  {   yield returnnew WaitForSeconds(1f);   leaveSeconds--;  } }}


0 0