(Unity) Попытка вызвать несколько объектов, удерживая мышь с помощью OnMouseDown - PullRequest
0 голосов
/ 21 апреля 2020

нужна небольшая помощь с чем-то. Моя сцена состоит из 4 сфер, и я пытаюсь добиться этого, когда вы нажимаете на одну сферу, цвет сферы меняется, и когда вы перетаскиваете мышь (пока она еще удерживается) на другие сферы, другую сферы тоже меняют цвет. До сих пор мне удавалось изменить цвет сферы при нажатии, но я не могу изменить цвет других сфер, когда перетаскиваю на них мышь. Я предполагаю, что это очевидно, потому что код запускается только при первом нажатии мыши. Есть ли способ изменить это, чтобы сфера меняла цвет, когда на нее щелкают и перетаскивают мышь? Я пытался поиграть с OnMouseDrag, но безуспешно. Вот ссылка на видео о том, что у меня так далеко, и что я пытаюсь go для: https://youtu.be/KOBqnH0je6A (ко всем сферам прикреплен один и тот же скрипт) И вот мой код: `

     public GameObject sphere;
     public Material material;

     void OnMouseDown()
     {
         sphere.GetComponent<MeshRenderer>().material = material;
     }

`

1 Ответ

0 голосов
/ 21 апреля 2020

Мне удалось достичь того, что я хотел, с помощью stati c boolean. Логическое значение устанавливается в true при нажатии кнопки мыши, затем функция OnMouseEnter изменяет материал объекта, если логическое значение имеет значение true. Тогда булево значение устанавливается в false, когда мыши разрешено go из!

...