今日给我们带来的是计时器的简略制造,其间包括开端、暂停、完毕按钮,显现格局为小时、分钟、秒。
首要创立一个场景和一个C#脚本
点击 Hierarchy 版面的 摄像机 Main Camera,可将脚本挂在摄像机上,直接拖拽到摄像机或许拖拽到右下角的 Add Component处完结脚本绑定。
翻开C#脚本:
在办法外创立五个全局变量
string TImerRet = “”;
float TImer = 0;
float TImerDel = 0;
int hour = 0;
int minute = 0;
int second = 0;
此办法中的变脸在持续改动,因而全程在void Update ()办法履行:
void Update () {
//TImer表明计录的时刻段 += Time.deltaTime 计时累加
timer += timerDel;
//断定秒数,进行分秒切割
if (timer 》 1)
{
second++;
timer -= 1;
}
if (second 》= 60)
{
minute++;
second = 0;
}
if (minute 》= 60)
{
hour++;
minute = 0;
}
//timerRet 为呈现在显现器上的字符串,在此进行重写,写入时刻
timerRet = string.Format(“{0:00}:{1:00}:{2:00}”, hour, minute, second);
}
在 void OnGUI() 办法中进行按钮及显现设定:
//规划一个字符串变量用于改动 暂停 和 持续
static string goOn = “暂停”;
void OnGUI()
{
//GUI.Label 显现
GUI.Label(new Rect(150, 190, 200, 150), timerRet);
//GUI.Button 按键 new Rect 设定方位(X轴,Y轴,长度,宽度),内容
if (GUI.Button(new Rect(0, 0, 120, 100), “开端”))
{
//Time.deltaTime 为增量时刻 赋值给 timerDel进行累加
timerDel = Time.deltaTime;
}
//对持续和暂停进行更改的字符串
string suspend = “”;
suspend = string.Format(“{0}”, goOn);
if (GUI.Button(new Rect(0, 150, 120, 100),suspend))
{
//点击“暂停”完毕后用“持续”替换
goOn = “持续”;
if (timerDel == 0)
{
//点击“持续”完毕后用“暂停”替换
goOn = “暂停”;
timerDel = Time.deltaTime;
}
else
{
timerDel = 0;
}
}
//将变量归零,计时完毕
if (GUI.Button(new Rect(0, 300, 120, 100), “完毕”))
{
hour = 0;
minute = 0;
second = 0;
timerDel = 0;
}
好啦,一个简略的计时器的脚本就完结了,是不是很简略呢?
点击开端按钮,显现时刻走动,暂停,时刻中止走动,暂停键变成了持续键,再次点击时刻持续,点击完毕按钮,时刻归零。
简略秒表计时器的制造
这个简略计时器的功用如下:
1、点击开端,进行计时,此刻开端按钮灰度,中止和重置按钮正常运转。
2、点击中止按钮,计时中止,此刻中止按钮灰度,开端和重置按钮正常运转。
3、点击重置按钮,不管当时是计时状况仍是中止状况,均康复至开端计时初始界面。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Exercise
{
public partial class 计时器 : Form
{
private DateTime timeSum;
public 计时器()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.timeSum = new DateTime(0); //开端显现时刻 0.0.0:0
this.label1.Text = timeSum.Hour + “。” + timeSum.Minute + “。” + timeSum.Second + “:” + timeSum.Millisecond;
this.button2.Enabled = false;
}
private void IncreaseTime(double seconds)
{
this.timeSum = this.timeSum.AddSeconds(seconds);
this.label1.Text = timeSum.Hour + “。” + timeSum.Minute + “。” + timeSum.Second + “:” + timeSum.Millisecond;
}
private void timer1_Tick(object sender, EventArgs e)
{
this.IncreaseTime(0.1);
}
private void button1_Click(object sender, EventArgs e)
{
this.timer1.Start();
this.button1.Enabled = false;
this.button2.Enabled = true;
}
private void button2_Click(object sender, EventArgs e)
{
this.timer1.Stop();
this.button1.Enabled = true;
this.button2.Enabled = false;
}
private void button3_Click(object sender, EventArgs e)
{
this.timeSum = new DateTime(0); //开端显现时刻 0.0.0:0
this.timer1.Stop();
this.label1.Text = timeSum.Hour + “。” + timeSum.Minute + “。” + timeSum.Second + “:” + timeSum.Millisecond;
this.button1.Enabled = true;
this.button2.Enabled = true;
}
}
}