public class Clock : MonoBehaviour
{
public Image imageHour; //时针
public Image imageMinute; // 分针
public Image imageSecond; // 秒针
private const float degreeDiff = 90; // 默认需要旋转90度
private const float hoursToDegress = -30f; // 一小时时针旋转的角度
private const float minutesToDegrss = -6f; // 一分钟旋转的角度
private const float secondsToDegrss = -6f;// 一秒钟旋转的交付
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
// 一秒跳动一次
// DateTime dt = DateTime.Now; // 获取当前时间
// imageHour.rectTransform.localRotation = Quaternion.Euler(0f, 0f, hoursToDegress * dt.Hour + degreeDiff);
// imageMinute.rectTransform.localRotation = Quaternion.Euler(0f, 0f, minutesToDegrss * dt.Minute + degreeDiff);
// imageSecond.rectTransform.localRotation = Quaternion.Euler(0f, 0f, secondsToDegrss * dt.Second + degreeDiff);
// TimeSpan。这个接口返回的是从从午夜0点开始,到现在一共过去了多少小时,分钟和秒钟。最主要的是,它返回的是浮点数,是可以带小数的
TimeSpan timeSpan = DateTime.Now.TimeOfDay;
//transform组件是所有游戏对象中的默认组件,它用于控制游戏对象在三维空间中的位置、旋转和缩放。
// 而RectTransform组件则是专门用于UI元素的组件
imageHour.rectTransform.localRotation = Quaternion.Euler(0f, 0f, (float)timeSpan.TotalHours * hoursToDegress + degreeDiff);
imageMinute.rectTransform.localRotation = Quaternion.Euler(0f, 0f, (float)timeSpan.TotalMinutes * minutesToDegrss + degreeDiff);
imageSecond.rectTransform.localRotation = Quaternion.Euler(0f, 0f, (float)timeSpan.TotalSeconds * secondsToDegrss + degreeDiff);
// this.transform.Rotate(0, rotateSpeed * Time.deltaTime, 0, Space.Self);
}
}
unity 获取当前时间显示
最新推荐文章于 2024-03-11 15:12:36 发布