Попадание в GUI Rect после трансформации

Общие вопросы о Unity3D

Попадание в GUI Rect после трансформации

Сообщение Equinty 12 янв 2020, 22:05

Есть некоторое GUI матрицу которого я трансформировал

Синтаксис:
Используется csharp
        void OnGUI (){
                GUI.matrix = Matrix4x4.TRS (pos, Quaternion.identity, new Vector3 (zoom, zoom, 1.0f));
                .....
}
 




Как определить попадание мышкой в произвольно заданный Rect(x,y,w,h) после трансформации?
Только ручками? Или может есть какая-нибудь функция типа GUI.matrix.hittorect ? В API что-то не нашел.
Equinty
UNIт
 
Сообщения: 64
Зарегистрирован: 17 дек 2019, 19:34

Re: Попадание в GUI Rect после трансформации

Сообщение IDoNotExist 13 янв 2020, 08:20

Координаты мыши нужно перемножить с матрицей "Matrix4x4.MultiplyPoint3x4()"
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: Попадание в GUI Rect после трансформации

Сообщение Equinty 14 янв 2020, 01:55

Да идея интересная, возможно пригодиться для слайдера, не знал про это. Интересный способ, но на счет попадания в принципе в моем случаем можно и кнопкой обойтись...

Синтаксис:
Используется csharp
if(GUI.Button(new Rect(x,y,w,h),emptytex)){
     // попали мышкой
}
Equinty
UNIт
 
Сообщения: 64
Зарегистрирован: 17 дек 2019, 19:34


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14