Unity 代码实现表针转动

2020-10-19 15:07发布

要求:

* 有时针、分针、秒针:

* 按照机械手表的转动方式转动(秒针每一秒走一格,分针每一分钟内走完一格, 时针一小时内走完一格大格);



public class ex1 : MonoBehaviour {

 

    float hour;

    float min;

    float sec;

// Use this for initialization

void Start () {

        InvokeRepeating("Rot", 1, 1);

    }

// Update is called once per frame

void Update () {

        

        if (sec % 60 == 0 && sec > 0)

        {

            min++;

            sec = 0;

        }

 

        if (min % 60 == 0 && min > 0)

        {

            hour++;

            min = 0;

        }

    }

    void Rot()

    {

        GameObject.Find("sco").GetComponent<Transform>().rotation = Quaternion.Euler(0, (sec++) * 6, 0);

        GameObject.Find("min").GetComponent<Transform>().rotation = Quaternion.Euler(0, min * 6, 0);

        GameObject.Find("hour").GetComponent<Transform>().rotation = Quaternion.Euler(0, hour * 6, 0);

    }

}

需要注意的是:每个指针都需要一个空对象作为父对象,然后将我们要转动的表针(子对象)调整到相对理想的位置(即调整相对于旋转中心的位置),因为我们要控制父对象使得子对象旋转,,,还有注意代码中的名字是和创建父对象的名字是一致的,,,



作者:Czhenya

链接:https://czhenya.blog.csdn.net/article/details/77337803

来源:CSDN
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。