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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.04.2012, 02:38
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 11  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
Честно говоря, я так и считал. Странное если это не так.
Было бы очень странно, если бы было наоборот. Вы представляете контейнер как поднос.
Цитата:
Ведь GUIMenuButton лежит в GUIMainMenu и перекрывает его.
Так "в" или "перекрывает"? Контейнер это не "тарелка", это "банка". Чтобы надавить на содержимое банки, Вам надо надавить на банку.
Как иначе-то? Совершенно естественное поведение. Кнопка находится внутри меню. Курсор над кнопкой значит что прежде всего он над меню, а потом уже над кнопкой. То есть между курсором и кнопкой "пакетик" меню, в котором лежит эта кнопка. И сначала Вы давите на "пакет", а потом уже "давление" достигает кнопки. Это фаза захвата – когда событие опускается от самого верхнего уровня до самого глубокого объекта под мышью (из списка чувствительных к мыши, естественно). Этот последний, самый глубокий объект, называется target. От него начинается фаза Всплытия (если распространение события не остановлено в обработчике, например методом Event#stopPropagation() ). Поскольку, нажимая на этот объект, Вы естественно нажали на все пакетики, в которые он упакован, каждый из его контейнеров до stage включительно пошлет событие "от себя". Раз Вы на него подписались, то естественно получите. Вы же нажали на Меню, как оно может не посылать событие?
Одно из простых "механических" решений состоит в том, что Меню ловит клик не по "всему себе", а только по фоновому для кнопок элементу. То есть фон как бы "кнопка" самого меню, а кнопки меню перекрывают его. Иначе делайте программно, либо с фазами, либо с остановкой распространения.
__________________
Reality.getBounds(this);

Старый 18.04.2012, 23:53
s3dworld вне форума Посмотреть профиль Отправить личное сообщение для s3dworld Найти все сообщения от s3dworld
  № 12  
Ответить с цитированием
s3dworld

Регистрация: Apr 2010
Сообщений: 170
Всем доброго вечера!

Прочитал я про события. Довольно всё печально для меня. Так как же мне тогда стоит поступить, чтобы моё меню закрывалось на любое полученное WindowAppEvent кроме пунктов этого меню и кнопки вызова этого меню, когда мне следом после нажатия на кнопку вызова меню идёт событие полоски меню, которое тут же меню и закрывает? Я пока не придумал решения. Как сделать?

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

Старый 19.04.2012, 04:01
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 13  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Цитата:
Сообщение от s3dworld Посмотреть сообщение
Возился, возился...и похоже ничего лучшего не придумал, чем не добавлять кнопки всплывания контекстного меню в главное меню через addChild(), а сделать их параллельными (просто слой главного меню будет с меньшим индексом в списке отображения их общего контейнера).
Ну это не плохой вариант, наверно. Вы создали себе проблему в результате реализации наследования от таких прародителей. Экранные символы итак поддерживают свойство name, так что roName никчему, вроде как. Да и оперирование именем символа - последнее дело, когда нет средств идентифицировать его иначе ( не знаю, по крайней мере мне его за последний год пользовать не доводилось). По остальному, идентификацию областей я бы реализовал разными контейнерами и/или разными обработчиками ( контроллерами ) для каждой области, как то так... Ну то есть я хочу сказать что ваш фреймворк дублирует итак имеющийся функционал. Но, вы наверно это уже и так поняли...

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

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

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


 


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


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