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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.02.2014, 22:49
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 1  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
По умолчанию Организация мышиных событий в приложении

Чувство, что я уже это спрашивал, но возможно оно из-за того, что собирался
Раньше думал, что со временем долно быть легче, но сейчас вообще мысли взрываются. В голове всё смешалось и я опять на пороге "начала". Вроде кажется, что всё очень просто, но есть у меня кнопка, она при over, out, down, up меняется, анимация на собственном mc, как я подсмотрел у Dukobpa3'а и в у Starling, это к вопросу не относится. Так же есть всплывающая подсказка, а то она ещё может быть и анимированная. Курсоры ещё.. меняются.. И вариантов ой как много, но хочется более правильный и тот, который себя уже зарекомендовал. Первое что приходит в голову, Observer, но помнится, что до недавнего времени при вопросе - откат действий пользователя на шаг назад, в голове бы всплыл шаблон, не помню название, вроде команда, но оказалось что ещё есть и Memento, который мне понравился. Что посоветуете?

Старый 03.02.2014, 23:09
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 2  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,779
Записей в блоге: 3
Помогите понять ваш вопрос. Для какой задачи вы ищите подходящий шаблон, если всё сказанное
Цитата:
В голове всё смешалось и я опять на пороге "начала". Вроде кажется, что всё очень просто, но есть у меня кнопка, она при over, out, down, up меняется, анимация на собственном mc, как я подсмотрел у Dukobpa3'а и в у Starling, это к вопросу не относится.
?

Старый 03.02.2014, 23:19
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 3  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Неправильно наверное высказался... Не относится то, что я подсмотрел организацию собственных MC.
А упомянул я об этом, наверное, чтобы Вам было понятней, что класс mc не будет ДО.
Но суть вот в чём - в моей голове нет понятия кнопки и прочего, есть только область реагирующая на мышь.
И есть много классов, которые ожидают уведомление об событии. Но как организовать все это? Смотря менеджер курсоров, я обратил внимание, что автор сделал класс, куда передавал объекты и там их подписывал, но ещё он упомянул, что сам именно таким вариантом не пользуется и я принил эти слова именно связанных с этим классом. Ведь получится, что менеджер курсоров получает ссылки на кнопку и подписывает её, менеджер подсказок проделывает тоже самое. И там возможно ещё кому-то понадобится узнавать об этих событиях. Как лучше сделать, где подсмотреть?

Добавлено через 26 минут
Если в менеджеры раздавать объекты и там их подписывать, то получится обсервер. И если думать на таком примитивном уровне, то подписать один объект на одни и теже события в нескольких местах, кажется логичнее, чем объект, который хранит в себе ссылки на классы, которым нужны уведомления. Можно делать и утилсы под себя и просто передавать объект в менеджеры, которые будут ждать подготовленный для них калбэк. Но это не правильно, так как я не хочу писать свой фреймворк, а стремлюсь к максимальным возможностям без лишней тяжести.

Добавлено через 30 минут
Мне нужен толчок в этой теме, а то я со всеми шаблонами уже так перестарался, что они уже все смешались. Просто совет.. Описания минимальные..

Старый 04.02.2014, 00:29
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 4  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,779
Записей в блоге: 3
Я наверно вряд ли вам подскажу что-то по делу. Но попробуйте не упираться в какой либо конкретный из шаблонов. Попробуйте разные подходы и посмотрите лично для себя, как вам удобнее будет. Верный вариант, приходит не сразу, а именно после разных попыток его реализации. Возможно вы и сами придумаете какой-то новый шаблон (или более удобный), под вашу задачу.
Очень важно искать путь самому. Я совершенно не против того, что вы ищете ответ здесь. Просто хочу напомнить и о том, что возможно Вы сами можете найти все ответы.

Старый 04.02.2014, 16:34
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 5  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
samana Спасибо за совет! Но самому ужасно сложно и иногда хочется чтоб рассказали. Пойду дальше экспериментировать.

Добавлено через 15 часов 47 минут
Ещё вот что мешает думать - одно приложение, один EnterFrame. Много раз слышал эти слова и сам думал, что так и должно. Но чем MOUSE_MOVE отличается, не чем, а значит и про это событие можно сказать, что оно должно быть одно на всё приложение. А дальше начинаешь рассуждать, как имея один EF или MM оповещать множество подписчиков и на ум приходит только одно, создать класс, в который будешь добавлять в массив все объекты и по событию все оповещать. И того добавить\удалить из массива, цикл, в котором будешь оповещать всех нуждающихся, какой-то класс. И получается, что все это, попытка создать на основе EventDispatcher ещё один, который только замедлит выполнение. Но тогда встаёт вопрос, почему говорят - одно приложение, один EnterFrame? Ведь подписать один объект на какое-то событие в разных местах или много энтерфраймов будет правильнее с точки зрения реализации самого языка. Или я не прав?

Старый 04.02.2014, 17:48
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,437
Цитата:
чем MOUSE_MOVE отличается, не чем
Было бы интересно услышать хотя бы ОДНО, в чем они НЕ отличаются.
Ентерфрейм это многоадресное автоматическое гарантированное событие.
Маусмув это селективное пользовательское интерактивное событие.
__________________
Reality.getBounds(this);

Старый 04.02.2014, 18:11
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 7  
Ответить с цитированием
maxkar

Регистрация: Nov 2010
Сообщений: 497
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Было бы интересно услышать хотя бы ОДНО, в чем они НЕ отличаются.
Они оба не cancellable

Старый 04.02.2014, 18:35
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 8  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,437
Akopalipsis, получая ентерфрейм в единственном месте, Вам не надо тратить ресурсы на вычисление, от кого Вы его получили. Вы просто "сами" решаете, как его раздать, кто должен теперь измениться, и как.
Технически, Вы конечно можете так же подписать на маусмув только стейдж. Но дальше начнется шершеляфам с неизбежными ошибками и стостроковыми свитчами. Оно кому надо?
В первом случае вам нужно решить, кому сказать. А во втором — понять, от кого услышали. Вам все еще кажется, что это одно и то же?
__________________
Reality.getBounds(this);

Старый 04.02.2014, 18:59
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 9  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Wolsh Спасибо! Мне вот ещё что хочется узнать.. Есть кнопка, она при over\out меняется, так же есть менеджер курсоров, который при over должен ставить особенный курсор. Но менеджер может узнать о over, только если ему передать кнопку, которую он подпишет. Получается, что кнопка подписана на over, в самой себе или ещё как-то, это уже от реализации самой кнопки зависит, но ещё она же подписана повторно в менеджере. Такой подход нормальный? Когда об этом думаю я, то вижу лишь один минус, кто-то должен знать, что кнопку держит слушатель, который не позволит её удалить.
Но если без этого, то миллион флагов или ещё что-то, куда более хуже.. Как мне мысли собрать в кучу?)

Старый 04.02.2014, 20:29
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 10  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,437
КАК слушатель не позволит удалить кнопку???

Добавлено через 31 минуту
Имеется в виду менеджер, которому дали ссылку на кнопку?
Так, простите конечно, но разве Вы не должны сказать менеджеру, что одного из его подопечных убили? Вы, то есть, считаете нормальным удалять все что ни попадя, не предупреждая никого, кто еще пользуется этими же экземплярами? Вам срочно нужно написать проект с более чем двумя классами.
__________________
Reality.getBounds(this);

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

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

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


 


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


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