![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jun 2011
Сообщений: 91
|
Добрый день.
Перевел мувиклипы в растр, эти растры отрисовал на большой bitmap. Как мне теперь их по нажатию отловить. Каждый растр, создавался в отдельном классе. То есть если проще объяснить, была создана карта, на нее нарисованы(ну допустим юниты) как мне теперь их класс по нажатию отлавливать ? Пробовал, до этого тупым перебором через метод класса, наподобие unitArray[1].isClicked() с проверкой координат внутри - получается очень долго все начинает тормозить. Последний раз редактировалось flashfoxter; 07.07.2011 в 19:02. |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Ускорять isClicked, делать отсечение по боксу, если карта клеточная, то проверять только юниты из клеток, с которыми рядом курсор. Есть ещё тяжелая артиллерия - широкая фаза, и всякие octree но по идее должно хватить, если нормально сделать первое %)
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
Регистрация: Jun 2011
Сообщений: 91
|
За статью спасибо, но все в ней свелось к тому, что все это хорошо но тоже "дорого" по вычислениям
![]() Похоже на то, как я искал решения для сортировки столько материалов пересмотрел, перепробовал кучу алгоритмов в итоге сделать брутом получилось быстрее... А как можно ускорить isClicked ? Там тупо if ((xunit => mouseX) && (xunit <= mouseX)) && ..... по боксу проверяется, а там еще надо проверку на клик по альфа пикселям. И это тормозит на моей достаточно мощной машине... |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
По боксу - должно быть быстро, если этак до 10000 проверок. Да и по альфе не думаю, что долго. Сколько проверок, какой процент проходит проверку по боксу? А особо интересно увидеть и пощупать код, как оно тормозить начинает (кабы ещё не фла). Я вообще сделал по "попадает ли точка в треугольник" (у меня всё из треугольников там было), решил - как начнёт тормозить - добавлю бокс. Не добавил)
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
Регистрация: Jun 2011
Сообщений: 91
|
Да нет проверок до 400.
По альфе вообще пока не проверяю. Код думаю завтра смогу кинуть, хотя код то там смешной. на Flexе. |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|