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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.04.2008, 21:31
IDVsbruck вне форума Посмотреть профиль Отправить личное сообщение для IDVsbruck Найти все сообщения от IDVsbruck
  № 1  
Ответить с цитированием
IDVsbruck
[+4 27.04.08]

Регистрация: Oct 2006
Сообщений: 22
По умолчанию Отслеживание реакции мувика, над которым перетаскивается другой

Есть несколько небольших мувиков, которые я без труда могу переносить (динамически создаю клоны и их переношу). Ранее были просто области-мувики, в которые я мог перенести свои малые. При релизе использовал hitTest и без труда проверял присутствие своих мувиков в этих областях.

Однако ситуация поменялась: надо, чтобы области, над которыми я проношу малые мувики, реагировали на присутствие над ними объектов.

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

Есть такой нюанс: если бы зон реакции было немного, то я бы повесил на событие движения мыши с флагом drag обработчик, в котором делал бы проверку тем же hitTest, но у меня около сотни таких зон и обработчик будет сильно притормаживать.

Спасибо за содействие.

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

блогер
Регистрация: Jul 2007
Сообщений: 940
Записей в блоге: 3
апы здесь караются

в ас2 у меня лично не получилось, а вот в ас3 можно после startDrag() сделать таскаемый объект mouseEnabled = false и повесить MOUSE_UP на stage.. ролловеры тогда будут срабатывать

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Если они разбросаны не хаотично - то можно вполне вычислять координаты перетаскиваемого мувика и узнавать, над которым он находится. Математика. однако.

Можно положить перетаскиваемый мувик под самый низ и использовать не startDrag, а
Код:
mc.onEnterFrame=function():Void{
this._x=_xmouse;
this._y=_ymouse;
}

Старый 27.04.2008, 21:26
IDVsbruck вне форума Посмотреть профиль Отправить личное сообщение для IDVsbruck Найти все сообщения от IDVsbruck
  № 4  
Ответить с цитированием
IDVsbruck
[+4 27.04.08]

Регистрация: Oct 2006
Сообщений: 22
Не могу ... перетаскиваю монетки и определить надо, над какой областью переносится.
Один вариант есть, но он очень муторный, на мой взгляд.
По идее можно как-то переадресовывать событие мыши сцене и чтобы все мувики на него реагировали.
Еще можно сделать монетку курсором мыши и тогда не будет мувика над мувиком, а только специфический курсор и, соответственно, реакция нижнего мувика.

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

Регистрация: Jul 2006
Адрес: Питер
Сообщений: 2,083
Отправить сообщение для MrPoma с помощью Skype™
Объясните нормально, что Вам нужно, а то монетки какие-то надо областью переносятся...

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Фокус-покус!
Вложения
Тип файла: rar dragOverPlaces.rar (6.8 Кб, 72 просмотров)
__________________
Reality.getBounds(this);

Старый 29.04.2008, 18:26
IDVsbruck вне форума Посмотреть профиль Отправить личное сообщение для IDVsbruck Найти все сообщения от IDVsbruck
  № 7  
Ответить с цитированием
IDVsbruck
[+4 27.04.08]

Регистрация: Oct 2006
Сообщений: 22
Спасибо большое за идею, было над чем подумать ...
Но, к сожалению, это тупиковый вариант, так как надо не просто перенести один мувик, а динамически его сдублировать, перенести, оставить, а после этого также иметь возможность его носить по сцене.
Кроме этого, данный способ не работает в ситуации, когда на поле, которое нам надо подсветить, лежит другой мувик ... получается, что пронося наш над этим мувом в поле, поле не будет иметь реакции.

Два дня возился и полностью реализовал задуманное: при перетаскивании любого (начального или созданного) мувика нужные области подсвечиваются вне зависимости, есть ли на них что-то или нет. Кроме этого, все объекты созданы динамически и их количество неограничено. И дублирующая "подложка" не понадобилась ...

В процессе работы лично для меня открылась такая хитрая особенность поведения мувиклипов: мувиклип с прикрепленным обработчиком события ведет себя иначе, чем "голый", даже если событие на касается его непосредственно.

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

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

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


 


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


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