单击对象时的Unity3d操作

时间:2017-02-21 20:43:24

标签: unity3d 3d mouseover

我在团结中打开了一扇门,它的代码是:

void Update () {

    if (i < 5)
    {
        if (Input.GetMouseButtonDown(0))
        {
            transform.Rotate(Vector3.up * Time.deltaTime * 1080);
            i++;

        }
    }
    else if (i >= 5)
    {
        if (Input.GetMouseButtonDown(0))
        {
            transform.Rotate(Vector3.down * Time.deltaTime * 5400);
            i = 0;
        }
    }


}

问题是当我在任何地方和每次点击鼠标时都会发生操作。我想只在我点击门时才能实现。

2 个答案:

答案 0 :(得分:0)

您想使用使用GameObject的对手的OnMouseDown()

答案 1 :(得分:0)

您可以使用光线投射来检测您点击的对象,或者您可以使用Event OnMouseDown(),例如:

void OnMouseDown() {
    transform.Rotate(Vector3.up * Time.deltaTime * 1080);
}

OnMouseDown不适用于移动设备