![]() |
жирный Switch
Тему назвал так неспроста. Частенько в проектах ( которые мне попадаются) разрабатывается меню, от которого далее зависит весь проект. Объясню каким образом. Рассмотрим аналог онлайн магазина - выбрали товар, сделали с ним операции, добавили в корзину, отправили запрос. Все эти действия происходят с один объектом.
У нас же похожий случай, но маленько отличается. Разделим проект на часть блоков и действий. 1. Мы жмем на меню выбирая какой либо объект 2. От того какой объект выбран создается (добавляется) отдельный класс выполняющий допустим некую функцию обработки. 3. После выполнения 2, создается еще один класс для дальнейшей работы с объектом и снова от того какой объект был выбран происходят действия... .... и т.д. пунктов может быть много. В таких проектах мне приходится часто прибегать к switch для проверки выбранного объекта ( естественно кроме switch можно и другие операторы юзать) . И так Switch 1 - выбрали объект, некоторая переменная ( глобальная) записала название объекта. Switch 2 - от того что хранит переменная - добавляется класс Switch 3 - после 2, аналогично ... и так бесконечно. __________________________________ Возможно данный пример будет не понятен кому либо, добавлю еще один пример : Рассмотрим стандартный colorPicker от выборки цвета - у нас зависит дальнейшая работа приложения, после того как приложение завершилось, у нас снова идет проверка на выбранный (изначально) цвет и варианты закрытия программы от него. Сдесь я так же бы использовал два Switch'a ____________________________________________________ И так вопрос, как делаете Вы в таких ситуациях? , и является рациональным такое построение приложения как делаю я со свичами?. Может направите в более правильное русло построения. Спасибо |
ИМХО смысл размыт. Может на более конкретно один из примеров опишешь?
Вот есть этот colorPicker. Вот мы выбрали цвет. И что дальше произошло? Что от этого зависит? |
Ну вроде не так уж и размыто хорошо попробую пояснить глубже.
Код AS3:
А если рассмотреть посложнее с сотней путей например : 1. Начало приложения switch(Menubtn.text) { case '1': тут работает блок 1 и запускает 10 других блоков} 2. В блоке 5 снова есть switch(Menubtn.text) { ...... } и работа этого блока зависит лишь от выбранной изначально перменной, а не от работы других блоков, он как бы отшельник. |
Offtop: я нихрена не понял, но в Ваш код мне смотреть будет явно страшно.
|
Если я правильно понял, то не устраивает цепочка объектов по сути одинаковых, не? Я обычно в первом меню и создаю конечный объект. Просто этот объект может принимать разные формы.
|
Про цвет ничего не понял, как зависит от выбора цвета выход из программы.
Про меню: Впринципе, можно и через свитч вызывать нужные функции по тексту меню. Но, может так проще? Код AS3:
А не слушать рассказы о том какой он из себя и о каких-то переменных. |
ща набросаю примерчик побыстрому
|
Может стоить завести переменную, куда записывать текущий выбранный объект и в зависимости от его свойств (выбранного объекта) дальше разруливать ситуацию? Может даже интерфейсы пригодятся. А вообще солидарен с Psycho Tiger
|
Имеем класс кнопки состоящий из 4 кадров, на каждом по картинке, где от того какой инстанс выбран на данный момент сохраняется перменная SELECTED.
Код AS3:
где от того какая кнопка выбрана на данный момент происходят действия с mainMC Код AS3:
Код AS3:
|
|
| Часовой пояс GMT +4, время: 06:19. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.