Unity3D-- GUI 时钟脚本

本文介绍如何使用Unity创建一个简单的实时时钟应用。通过计时器更新时间和旋转指针的位置来模拟传统时钟的行为。文章提供了完整的代码示例,包括如何绘制时钟的秒针、分针与时针。
var Tu1 : Texture2D;
var Time1 : float = 0;
function FixedUpdate () {
Time1 += Time.deltaTime;
}
function OnGUI () {
GUI.Label(Rect(250,170,161,62),getTime(Time1));

GUIUtility.RotateAroundPivot (6*Time1, Vector2(103, 200));
GUI.DrawTexture(Rect(100,100,6,100),Tu1);//秒针
GUIUtility.RotateAroundPivot (-6*Time1, Vector2(103, 200));

GUIUtility.RotateAroundPivot (0.1*Time1, Vector2(103, 200));
GUI.DrawTexture(Rect(100,120,6,80),Tu1);//分针
GUIUtility.RotateAroundPivot (-0.1*Time1, Vector2(103, 200));

GUIUtility.RotateAroundPivot (0.1/60*Time1, Vector2(103, 200));
GUI.DrawTexture(Rect(100,140,6,60),Tu1);//时针
GUIUtility.RotateAroundPivot (-0.1/60*Time1, Vector2(103, 200));
}
function getTime(time : float) : String{
if(time<0){
return "00:00:00";
}
var lastTime : String = "";
var hour = Mathf.FloorToInt(time/3600%24);
if(hour/10 >=1){
lastTime+="" + hour;
}else{
lastTime +="0" + hour;
}
var minute = Mathf.FloorToInt(time/60%60);
if(minute/10 >=1){
lastTime+=":" + minute;
}else{
lastTime +=":0" + minute;
}
var second = Mathf.FloorToInt(time%60);
if(second/10 >=1){
lastTime+=":" + second;
}else{
lastTime +=":0" + second;
}
return lastTime;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值