OnMouseDown не работает, когда камера движется в Unity - PullRequest
0 голосов
/ 29 октября 2019

У меня небольшая проблема с функцией OnMouseDown. Он не определяет мои щелчки мыши после того, как я переместил камеру. Вот мой сценарий перемещения камеры:

        if(Input.GetKey(KeyCode.D))
    {
        Camera.main.transform.position = new Vector2(10 * Time.deltaTime, 0);
    }
    if (Input.GetKey(KeyCode.A))
    {
        Camera.main.transform.position = new Vector2(-10 * Time.deltaTime, 0);
    }

Итак, когда я вхожу в игру и не нажимаю ни кнопку «A», ни «D», все работает нормально. Однако, когда я нажимаю на него, функция OnMouseDown перестает обнаруживать мои клики. В дополнение к этому мои игровые объекты, у которых есть сценарий с функцией OnMouseDown после перемещения камеры, визуально изменяют размер, как видно здесь .

Так что моя игра делает то, что я создаю префаб несколько раз (скажет 100)К этому префабу прикреплен скрипт с OnMouseDown. Скрипт движения «Моя камера» прикреплен к основной камере. Нет прямой ссылки между готовым сценарием и сценарием управления камерой. Основное, что делает OnMouseDown, - это загружать данные из объекта, по которому щелкнули мышью, и отображать их на экране.

Спасибо за любую помощь!

1 Ответ

1 голос
/ 30 октября 2019

Хорошо, так что мне удалось это исправить! Для будущих поколений вы должны заменить Vector2 () на Vector3 ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...