Unity3d действия при нажатии на объект

Я сделал сценарий открытия двери в единстве Вот код этого:

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 ответа

Вы можете использовать raycasts, чтобы определить, на какой объект вы щелкаете, или вы можете использовать Event OnMouseDown(), например:

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

OnMouseDown не будет работать на мобильных устройствах

Вы хотите использовать OnMouseDown(), который использует коллайдер GameObject.

Другие вопросы по тегам