unity day 3

写一个时钟 

具体要点使用tranform.RotateAround方法来使用时针的旋转。通过System.Datetime.Now获取系统时间,然后添加一个闹钟功能具体代码

using UnityEngine;
using System.Collections;
using System;
using UnityEngine.UI;

public class clock : MonoBehaviour {
    public GameObject second;
    public GameObject min;
    public GameObject hour;
    public float minspped=60.0f;
    public InputField timeInput;
    bool isClock=false;
    AudioSource myas;
    // Use this for initialization
    DateTime time ;
    int sethour;
    int setmin;
    string[] str;
    int lasttime;
    void Start () {
        DateTime time = System.DateTime.Now;
        second.transform.RotateAround (Vector3.zero,Vector3.up,6.0f*time.Second);
        min.transform.RotateAround (Vector3.zero,Vector3.up,6.0f*time.Minute);
        hour.transform.RotateAround (Vector3.zero, Vector3.up, 30.0f * (time.Hour % 12)+time.Minute*0.5f);
        InvokeRepeating("seCond",1,1.0f);
        InvokeRepeating("Min",(60-time.Second)%60,60.0f);
        myas = GetComponent<AudioSource> ();
        lasttime = time.Hour;
    }
    // Update is called once per frame
    void Update () {
        time = System.DateTime.Now;
        if (lasttime != time.Hour) {
            myas.Play ();
            lasttime = time.Hour;
        }
        if (isClock) {
            setclock (int.Parse (str [0]), int.Parse (str [1]));
            Debug.Log ("h:"+sethour+"s:"+setmin+"     h:"+time.Hour+"s:"+time.Minute);
            if (sethour == time.Hour&&setmin==time.Minute) {
                myas.Play ();
                isClock = false;
            }
        
        }
    

    }
    public void seCond()
    {
        second.transform.RotateAround (Vector3.zero,Vector3.up,6.0f);

    }
    public void Min()
    {
        min.transform.RotateAround (Vector3.zero,Vector3.up,6.0f);
        Hour ();
    }
    public void Hour()
    {
        hour.transform.RotateAround (Vector3.zero,Vector3.up,0.5f);
    }
    public void  setclock(int hour,int minute)
    {
        sethour = hour;
        setmin = minute;
    }
    public void buttondowm()
    {
        isClock = true;
        string s = timeInput.text;
        str=s.Split (':');
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值