Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.10.2009, 15:53
chekanios вне форума Посмотреть профиль Отправить личное сообщение для chekanios Найти все сообщения от chekanios
  № 1  
Ответить с цитированием
chekanios

Регистрация: Apr 2009
Сообщений: 21
По умолчанию Деактивация всего содержимого заданного клмпа

Добрый день!
У меня есть большой список кнопок, заполоняющий почти всю рабочую область. При нажатии на одну из них открывается новое окно (на деле аттачится клип, либо переводится существующий на нужный кадр), в котором выводятся определенные параметры переданные нажатой кнопкой. В этом новом окне(клипе) есть тоже свои кнопки.

Все бы хорошо, но из под созданного клипа активны кнопки основного клипа, что не допустимо. В текущей версии все кнопки заднего плана деактивируются циклическим обходом их параметра enabled. При каждом вызове такого цикла проходит большая нагрузка на память. А такие окна пользователь открывает часто, и создается эффект тормозов.

Вопрос: можно ли как нибудь деактивировать все содержание заданного клипа одной командой. Переход его на другой кадр с такими же нарисованными "кнопками" не допускается: в клипе заднего плана много интерактивного содержания, перерисовывать которое программно еще раз не рационально.

Спасибо. С уважением, Антон.


Последний раз редактировалось chekanios; 08.10.2009 в 15:57.
Старый 08.10.2009, 16:05
lexa2000lexa вне форума Посмотреть профиль Отправить личное сообщение для lexa2000lexa Найти все сообщения от lexa2000lexa
  № 2  
Ответить с цитированием
lexa2000lexa

Регистрация: Sep 2005
Сообщений: 950
ставить поверх ваших кнопак прозрачную клип кнопку с выключенным курсором.

Старый 08.10.2009, 16:06
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 3  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Ага. Автор, посмотрите, в этой теме я пример выкладывал, там так и сделано.
http://www.flasher.ru/forum/showthread.php?t=129312

Старый 08.10.2009, 16:14
chekanios вне форума Посмотреть профиль Отправить личное сообщение для chekanios Найти все сообщения от chekanios
  № 4  
Ответить с цитированием
chekanios

Регистрация: Apr 2009
Сообщений: 21
А не получится ли, что изменение альфы кнопки+сама кнопка будет больше загружасть стек, чем цикл обхода?...

Старый 08.10.2009, 16:17
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 5  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Ну не меняйте альфу вообще, там это для красоты сделано, ограничитесь visible.
А вообще то - ну какой там перегруз от разовой работы с одним объектом?

Старый 08.10.2009, 16:25
chekanios вне форума Посмотреть профиль Отправить личное сообщение для chekanios Найти все сообщения от chekanios
  № 6  
Ответить с цитированием
chekanios

Регистрация: Apr 2009
Сообщений: 21
да в том-то и дело, что не разовой. за минуту пользователь может n раз это окно вызвать с разных кнопок. реакция молниеносная должна быть

Добавлено через 2 минуты
Кстати, с _visible эта фишка не прокатывает. Визибл убирает кнопку из рабочий области=>и клики отлавливать нечему. А альфа кнопку оставляет

Добавлено через 5 минут
Проверил: с добавлением и убиранием прозрачной кнопки над основным клипом и правда быстрее ,чем с циклом обхода всех компонентов.
Но может все таки есть более рациональное готовое решение задачи?..


Последний раз редактировалось chekanios; 08.10.2009 в 16:39.
Старый 08.10.2009, 16:46
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 7  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Мне тоже казалось раньше, что это не есть самое рациональное.
Конечно, "правильное" решение - это отключать все кнопки по одному, но "правильно" не всегда тождественно "рациональному".
В конечном итоге, в сухом остатке важно верное соотношение факторов:
- скорости разработки
- получения нужного эффекта, и при этом без багов в какой-либо части проекта
- переносимость решения
Степень рациональности зиждется на этом.
Оставьте так. Если какие-то проблемы возникнут в дальнейшем, вернетесь к вопросу... Ну я бы так поступил.

PS. Да, вообще-то я имел ввиду там, в коде оставить только _visible для блокирующего мувика-маски. Пока блокировании ее видеть не обязательно, как в примере. Там сейчас она появляется как белесая вуаль, для красоты (_alpha = 50), а можно просто ей оставить альфу = 0, этого достаточно будет для ее работы.


Последний раз редактировалось mooncar; 08.10.2009 в 16:53.
Старый 08.10.2009, 16:50
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 8  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Держать все кнопки в контейнере.
На контейнер вешать пустой обработчик - onPress, например.

Старый 08.10.2009, 16:55
chekanios вне форума Посмотреть профиль Отправить личное сообщение для chekanios Найти все сообщения от chekanios
  № 9  
Ответить с цитированием
chekanios

Регистрация: Apr 2009
Сообщений: 21
угу. все тот же вариант. Всем спасибо! Всем откланялся и смерился с ним


Последний раз редактировалось chekanios; 08.10.2009 в 17:11.
Старый 08.10.2009, 16:55
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 10  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Цитата:
Сообщение от Волгоградец Посмотреть сообщение
Держать все кнопки в контейнере.
На контейнер вешать пустой обработчик - onPress, например.
То же самое, только нужны дополнительные телодвижения в виде складывания активных элементов в отдельный контейнер. То есть усложнение структуры, переписывание путей для кнопок и т.п. Не "рационально"

Добавлено через 3 минуты
Цитата:
Сообщение от chekanios Посмотреть сообщение
[Удобство для потребителя]=1/[Удобство для создателя]
Если по-простому, то он имел ввиду - для достижения максимального удобства при работе С интерфейсом, нужно НАД ним изрядно попотеть.
Однако, учитель не учел то, что сейсчас зачастую важен достаточно быстрый результат. Нужно двигаться дальше, горят сроки ит.п.
Это раз. Два - пользователь не видит начинку, раз работает - значит хорошо. На досуге можно и оптимизировать код - это два.
И еще. Формула перестает работать, когда разработчик профессионально матереет, и оптимальные решения у него уже есть в голове часто еще до постановки задачи. Это три.

К слову сказать, у меня есть черта - вылизывать все до полного опупения и наворачивать удобства для юзера. Это вредит результативности разработки. Нужна золотая середина.


Последний раз редактировалось mooncar; 08.10.2009 в 17:02.
Создать новую тему Ответ Часовой пояс GMT +4, время: 18:42.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
активация , кнопки

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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