Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   render + определение нажатия на объекте (http://www.flasher.ru/forum/showthread.php?t=160004)

flashfoxter 07.07.2011 18:58

render + определение нажатия на объекте
 
Добрый день.
Перевел мувиклипы в растр, эти растры отрисовал на большой bitmap.
Как мне теперь их по нажатию отловить.

Каждый растр, создавался в отдельном классе.

То есть если проще объяснить, была создана карта, на нее нарисованы(ну допустим юниты) как мне теперь их класс по нажатию отлавливать ?

Пробовал, до этого тупым перебором через метод класса, наподобие unitArray[1].isClicked() с проверкой координат внутри - получается очень долго все начинает тормозить.

-De- 07.07.2011 22:34

Ускорять isClicked, делать отсечение по боксу, если карта клеточная, то проверять только юниты из клеток, с которыми рядом курсор. Есть ещё тяжелая артиллерия - широкая фаза, и всякие octree но по идее должно хватить, если нормально сделать первое %)

flashfoxter 07.07.2011 22:57

За статью спасибо, но все в ней свелось к тому, что все это хорошо но тоже "дорого" по вычислениям :(
Похоже на то, как я искал решения для сортировки столько материалов пересмотрел, перепробовал кучу алгоритмов в итоге сделать брутом получилось быстрее...


А как можно ускорить isClicked ? Там тупо if ((xunit => mouseX) && (xunit <= mouseX)) && ..... по боксу проверяется, а там еще надо проверку на клик по альфа пикселям. И это тормозит на моей достаточно мощной машине...

-De- 07.07.2011 23:20

По боксу - должно быть быстро, если этак до 10000 проверок. Да и по альфе не думаю, что долго. Сколько проверок, какой процент проходит проверку по боксу? А особо интересно увидеть и пощупать код, как оно тормозить начинает (кабы ещё не фла). Я вообще сделал по "попадает ли точка в треугольник" (у меня всё из треугольников там было), решил - как начнёт тормозить - добавлю бокс. Не добавил)

flashfoxter 08.07.2011 00:55

Да нет проверок до 400.
По альфе вообще пока не проверяю.
Код думаю завтра смогу кинуть, хотя код то там смешной.
на Flexе.


Часовой пояс GMT +4, время: 05:34.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.