using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ClockTest : MonoBehaviour
{
/// <summary>
/// 指针
/// </summary>
public Transform pointer;
/// <summary>
/// 表盘背景
/// </summary>
public Image imgBg;
/// <summary>
/// 时间(分钟)
/// </summary>
[Range(0,60)]
public int timer = 0;
void Start()
{
//方便看效果,1秒增加1次
InvokeRepeating("AddTime", 0, 1);
}
private void AddTime()
{
timer++;
}
void Update()
{
imgBg.fillAmount = (float)timer / 60;
//获得指针角度(圆满是360度,即60分钟为一圈,所以也就是6,然后乘时间【分钟数】)
int angle = timer * 6;// (int)(timer * 360) / 60;
pointer.transform.eulerAngles = new Vector3(0, 0, -angle);
}
}
代码随便给任一物体,需要创建两个Image(表盘背景图片和指针图片),表盘背景的Image?Type设置为Filled,选择360,只需要把时间(分钟或者秒)传进来,设置指针的角度(中心点Pivot要设置好,一般是设置在指针图片的底部)和背景的fillAmount。
|