unity day 3

来源:互联网 发布:订机票 知乎 编辑:程序博客网 时间:2024/06/05 11:47

写一个时钟 

具体要点使用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
原创粉丝点击