纳金网
标题:
倒计时的专用代码
[打印本页]
作者:
狂风大尉
时间:
2014-9-29 02:54
标题:
倒计时的专用代码
using UnityEngine;
using System.Collections;
using System;
public class CountTime : MonoBehaviour {
// 初始化60s倒计时 //
public int totalSeconds = 60;
// 倒计时当前秒数 //
private int leaveSeconds;
private bool onCountDown = false;
private string countDownTitle = "开始";
void Awake()
{
leaveSeconds = totalSeconds;
}
void OnGUI()
{
GUI.Button(new Rect(50, 50, 50, 50), leaveSeconds.ToString());// 倒计时秒数 //
if (GUI.Button(new Rect(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()+",leave seconds:"+leaveSeconds.ToString());// 每帧打印当前秒数 //
//if (onCountDown)
//{
// onCountDown = false;
// StartCoroutine(DoCountDown());
//} //一开始StartCoroutine是放在Update下触发的,需要加判断,并且要暂停的时候逻辑上不好控制,改到在OnGUI内鼠标点击后控制
}
IEnumerator DoCountDown()
{
while (leaveSeconds>0)
{
yield return new WaitForSeconds(1f);
leaveSeconds--;// 当秒数>0 的时候, --
}
}
}
复制代码
作者:
cgjch8
时间:
2014-9-29 09:01
支持好资源
作者:
HIDEOKOJIMA
时间:
2014-9-29 09:19
Thanks for sharing this !
作者:
oelongeo
时间:
2014-9-29 22:52
好实用
謝謝分享了!
作者:
hyui
时间:
2014-10-2 07:12
Thanks for this code !
欢迎光临 纳金网 (http://go.narkii.com/club/)
Powered by Discuz! X2.5