Малюсенький класс с очень полезной реализацией – затратив минимум усилий, вы всегда будете знать, находится ли мышь над каким-нибудь GUI элементом.
Использование : Просто проверить Event.current.mousePosition на попадание в контроллируемый рект.
Предположим, у вас есть панелька, на ней две кнопки и поле ввода текста. Кнопки и ввод текста проверять нет смысла, а вот панельку стоит проверить. Если она рисуется не лайоутами, то просто проверяете её рект, если наоборот, то используете GUILayoutUtility.GetLastRect и назначаете значение GlobalGUI.MouseOverGUI
Интересует только положительное значение. False же выставится автоматом, если в последнем кадре ни разу небыло TRUE установки.
Вот и всё. Проверил Rect, назначил состояние переменной и забыл о ней. Она обнулится (встанет на False) сама, об этом не стоит беспокоиться.
:-h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public static class GlobalGUI { public static bool MouseOverGUI { get { return Time.renderedFrameCount <= _lastFrameOverGUI + 1; } set { if (value) { _lastFrameOverGUI = Time.renderedFrameCount; } } } private static int _lastFrameOverGUI; } |
13 комментариев на «Mouse Over GUI»
Ваш отзыв
Вы должны войти, чтобы оставлять комментарии.
09 Окт 2011 в 12:28
…
спс 8O…
09 Окт 2011 в 17:27
run@pashw7.bring” rel=”nofollow”>.…
сэнкс за инфу
…
09 Дек 2011 в 20:27
спс за инфу
…
10 Дек 2011 в 15:11
спс
…
11 Дек 2011 в 12:57
спасибо за инфу
…
11 Дек 2011 в 19:19
спс за инфу
…
11 Авг 2013 в 6:36
easiest@preferences.schaefer” rel=”nofollow”>.…
благодарен….
11 Авг 2013 в 7:09
angling@financier.addicts” rel=”nofollow”>.…
спасибо за инфу….
11 Авг 2013 в 9:37
motorscooters@jollying.comparison” rel=”nofollow”>.…
спасибо!!…
11 Авг 2013 в 11:15
patenting@nil.hallowed” rel=”nofollow”>.…
спс….
11 Авг 2013 в 11:23
ornate@domesticity.chien” rel=”nofollow”>.…
благодарю!…
03 июля 2014 в 13:00
mavis@pools.arises” rel=”nofollow”>.…
спасибо!…
20 Авг 2014 в 1:05
ruppert@conelrad.stink” rel=”nofollow”>.…
сэнкс за инфу!…