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

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

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
По умолчанию Нужно сбросить (проигнорировать) MOUSE_DOWN при выводе кнопки

Задача банальная до невозможности, поэтому не хочется городить чего-то сложного. На локации есть айтем, при нажатии на него он улетает в сумку, но если сумки нет, ее предлагается купить. Соответственно, по центру экрана выходит конфирм с предложением купить сумку "Да"/"Нет". Кнопки его реагируют на MOUSE_DOWN.

Столкнулся с занятной ситуацией - если так случилось, что кнопка "Да" открывается строго над айтемом (т.е., прямо под мышкой), то она тут же захватывает MOUSE_DOWN и автоматически нажимается. Скажу сразу, e.stopImmediatePropagation() в самом айтеме стоит, так что это не спасает.

Пока видится вариант с проверкой MOUSE_DOWN при выводе кнопки и выставлении на нее блокировки, пока по ней не отработает MOISE_OUT... Может есть способ проще?

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

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
Цитата:
выходит конфирм с предложением купить сумку "Да"/"Нет". Кнопки его реагируют на MOUSE_DOWN
а почему не на CLICK? по-моему в подобном случае это более правильно
__________________
freelance | Раздор

Старый 08.08.2011, 15:51
carrotoff вне форума Посмотреть профиль Отправить личное сообщение для carrotoff Найти все сообщения от carrotoff
  № 3  
Ответить с цитированием
carrotoff
 
Аватар для carrotoff

Регистрация: May 2010
Сообщений: 543
может временно на нажатый итем ставить mouseEnabled = false?
__________________
Вы грабите бедных людей. Парень со свирелью накажет вас. Хонгильдон (с)

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Цитата:
а почему не на CLICK? по-моему в подобном случае это более правильно
На MOUSE_DOWN повешен звук (клик).


Цитата:
может временно на нажатый итем ставить mouseEnabled = false?
Событие возникает на самой кнопке, как я понимаю.


Наверное, самый простой вариант такой:

1. При показе кнопки проверяем, не находится ли она под мышкой. Если не находится - все в порядке.
2. Если находится - слушаем MOUSE_OUT, а в слушателе - подписываемся на MOUSE_DOWN

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

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
может проверять currentTarget, если это кликнутый айтем, то ничего не делать с кнопкой открывшегося конфирма?
__________________
freelance | Раздор

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
хм, сейчас проведу эксперимент...

Добавлено через 21 минуту
Нет, target и currentTarget там совпадают. Оказалось, правда, что я ошибся с событием. Отрабатывает кнопка не по MOUSE_DOWN, а по MOUSE_UP (по MOUSE_DOWN только звук) . Но сути это не меняет, поскольку захватывает она все равно событие не вовремя.

Получается, видимо все-таки тот вариант, который я написал (с проверкой, не под мышкой ли кнопка).

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
В кнопке по MOUSE_DOWN устанавливать флаг, по MOUSE_UP проверять и если флаг установлен, запускать звук.
__________________
משיח לא בא
משיח גם לא מטלפן

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Цитата:
В кнопке по MOUSE_DOWN устанавливать флаг, по MOUSE_UP проверять и если флаг установлен, запускать звук.
Ну да.
Действительно.
Не звук, но не суть.

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

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

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


 


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


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