![]() |
Деактивация всего содержимого заданного клмпа
Добрый день!
У меня есть большой список кнопок, заполоняющий почти всю рабочую область. При нажатии на одну из них открывается новое окно (на деле аттачится клип, либо переводится существующий на нужный кадр), в котором выводятся определенные параметры переданные нажатой кнопкой. В этом новом окне(клипе) есть тоже свои кнопки. Все бы хорошо, но из под созданного клипа активны кнопки основного клипа, что не допустимо. В текущей версии все кнопки заднего плана деактивируются циклическим обходом их параметра enabled. При каждом вызове такого цикла проходит большая нагрузка на память. А такие окна пользователь открывает часто, и создается эффект тормозов. Вопрос: можно ли как нибудь деактивировать все содержание заданного клипа одной командой. Переход его на другой кадр с такими же нарисованными "кнопками" не допускается: в клипе заднего плана много интерактивного содержания, перерисовывать которое программно еще раз не рационально. Спасибо. С уважением, Антон. |
ставить поверх ваших кнопак прозрачную клип кнопку с выключенным курсором.
|
Ага. Автор, посмотрите, в этой теме я пример выкладывал, там так и сделано.
http://www.flasher.ru/forum/showthread.php?t=129312 |
А не получится ли, что изменение альфы кнопки+сама кнопка будет больше загружасть стек, чем цикл обхода?...
|
Ну не меняйте альфу вообще, там это для красоты сделано, ограничитесь visible.
А вообще то - ну какой там перегруз от разовой работы с одним объектом? |
да в том-то и дело, что не разовой. за минуту пользователь может n раз это окно вызвать с разных кнопок. реакция молниеносная должна быть
Добавлено через 2 минуты Кстати, с _visible эта фишка не прокатывает. Визибл убирает кнопку из рабочий области=>и клики отлавливать нечему. А альфа кнопку оставляет Добавлено через 5 минут Проверил: с добавлением и убиранием прозрачной кнопки над основным клипом и правда быстрее ,чем с циклом обхода всех компонентов. Но может все таки есть более рациональное готовое решение задачи?.. |
Мне тоже казалось раньше, что это не есть самое рациональное.
Конечно, "правильное" решение - это отключать все кнопки по одному, но "правильно" не всегда тождественно "рациональному". В конечном итоге, в сухом остатке важно верное соотношение факторов: - скорости разработки - получения нужного эффекта, и при этом без багов в какой-либо части проекта - переносимость решения Степень рациональности зиждется на этом. Оставьте так. Если какие-то проблемы возникнут в дальнейшем, вернетесь к вопросу... Ну я бы так поступил. PS. Да, вообще-то я имел ввиду там, в коде оставить только _visible для блокирующего мувика-маски. Пока блокировании ее видеть не обязательно, как в примере. Там сейчас она появляется как белесая вуаль, для красоты (_alpha = 50), а можно просто ей оставить альфу = 0, этого достаточно будет для ее работы. |
Держать все кнопки в контейнере.
На контейнер вешать пустой обработчик - onPress, например. |
угу. все тот же вариант. Всем спасибо! Всем откланялся и смерился с ним
|
Цитата:
Добавлено через 3 минуты Цитата:
Однако, учитель не учел то, что сейсчас зачастую важен достаточно быстрый результат. Нужно двигаться дальше, горят сроки ит.п. Это раз. Два - пользователь не видит начинку, раз работает - значит хорошо. На досуге можно и оптимизировать код - это два. И еще. Формула перестает работать, когда разработчик профессионально матереет, и оптимальные решения у него уже есть в голове часто еще до постановки задачи. Это три. К слову сказать, у меня есть черта - вылизывать все до полного опупения и наворачивать удобства для юзера. Это вредит результативности разработки. Нужна золотая середина. |
| Часовой пояс GMT +4, время: 23:11. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.