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.