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

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

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

Регистрация: Jul 2012
Сообщений: 44
По умолчанию Как правильно обработать событие?

Всем привет. Возникла сложность с событиями, читая мануалы я все равно не могу понять как правильно сделать. Очень надеюсь на ваши советы. Ситуация следующая:
В программе есть рабочая область и toolbar с кнопками.
Все что находится в рабочей области - находится в спрайте. В нем могут быть прозрачные места. Я повесил на него событие MouseDown. Оно не срабатывает когда мышь находится на прозрачном месте.
Как я решил эту проблему: повесил событие не на сам спрайт а на его сцену. Тогда событие срабатывает при каждом нажатии мыши. Но теперь оно срабатывает и когда я нажимаю на кнопки на toolbar'е. Так как под тулбаром находится тот самый спрайт.

В общем как сделать так чтобы событие срабатывало даже на пустых местах в спрайте, но не срабатывало когда я жму на тулбар. Я пока новичок в работе с флешем. Может быть не вижу очевидных вещей.

Добавлено через 4 минуты
Плюс проблема в том что на stage нельзя повесить событие из конструктора. Приходится создавать отдельный поток через еще одно событие. Как-то это не практично.

Добавлено через 6 минут
Можно сделать фон у спрайта идентичный фону который под ним. Но не будет ли это костылем.

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Вы можете просто положить на фон - прозрачный прямоугольник, и клик по нему будет срабатывать.

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

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

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Отрисовать в спрайте прямоугольник с прозрачной заливкой.
Дополнительный объект это излишество, пожалуй.
Да, да я это и имел ввиду, думал что по другому подумать и не смогут)

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

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

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

Регистрация: Jul 2012
Сообщений: 44
Спасибо ) логичный простой способ. Я думал что любая прозрачность не реагирует на мышь. Теперь буду знать что это не так.

Старый 03.04.2014, 08:47
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 7  
Ответить с цитированием
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
Цитата:
Сообщение от darkthor Посмотреть сообщение
Можно сделать фон у спрайта идентичный фону который под ним. Но не будет ли это костылем.
конечно прозрачный прямоугольник это хорошо, но может стоит просто фон отрисовать прям в этом спрайте, а не за ним?
и тогда спрайт будет реагировать на мышь, так как он растянется по размеру фона.

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

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

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


 


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


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