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

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

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

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
По умолчанию Инвертировать всплыв событий. dispatchEvent

Использую Broadcaster silin`а. (он рассылает события через статик методы класса).
Много объектов - одни на другом, при клике мышки проверяю, попал ли я на этот объект и тут же останавливаю пропоганду события (чтобы другие объекты не могли его получить). Удаляю объект с дисплей листа.

Проблема в том, то что в моём случае удаляется самый "задний" из всех нажатых объектов. Задний - в смысле, самый низкий по глубине объект. Нужно удалять передний (делаю шутер). Собственно, существуют ли приёмы, чтобы без глобальных извращений (например, убрать остановку пропаганды события и писать все объекты получившего его и попавшие под мышку в какой нибудь статик массив, а потом оттуда уже брать значения и очищать его) сделать то, что мне нужно?

Старый 25.12.2009, 21:59
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
если смотреть в контейнере, то
объекты под мышкой: getObjectsUnderPoint
кликнутый объект (т.е. самый верхний) event.target

в чем проблема и причем здесь статический диспатчер непонятно

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

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Это всё понятно. В игре присутствует пулемёт, то есть клик как таковой не подходит вовсе. getObjectsUnderPoint - метод тоже хорош, однако по каким то соображениям (не помню уже каким) решил сделать всё через твой класс. Переписывать не очень хочется, вот и спрашиваю, может есть ли ещё варианты.

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
А там обязательно слушать на клик "передние" объекты?
Т.е. пропаганда идет только по парентам. Я вот к чему.

Традиционно: пропАганда.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 26.12.2009 в 00:29.
Старый 26.12.2009, 01:07
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 5  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
если все передается через бродкастер, то там вообще ничего не всплывает, о какой пропаганде речь не совсем понятно..
попробуй поменять порядок добавления слушателей этого бродкастера или напиши свой с сортировкой слушателей по положению в дисплейлисте, хотя зачем он вообще тут нужен тоже неясно
"Переписывать не очень хочется" ни разу не аргумент, если речь о выборе между внятной логикой и шаманством

Старый 26.12.2009, 01:19
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 6  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Silin, поделись ссылкой на заветный класс броадкастера =)
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 26.12.2009, 11:24
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 7  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
http://www.flasher.ru/forum/blog.php?b=85
на самом деле это просто статический диспатчер, который можно слушать откуда угодно и вешать от его имени тоже..
вроде бы и удобно, но по большому счету бардачная вещь

Старый 26.12.2009, 21:00
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 8  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Цитата:
"Переписывать не очень хочется" ни разу не аргумент, если речь о выборе между внятной логикой и шаманством
Тут, конечно, полностью согласен. Просто проект вот-вот под сдачу, поддерживать его не собираюсь - вот и решил сшаманить.

Цитата:
вроде бы и удобно, но по большому счету бардачная вещь
для проектов однодневок само то)

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

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

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


 


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


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