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

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

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

Регистрация: Oct 2009
Сообщений: 386
По умолчанию Что-то странное с событиями

Сразу скажу что речь идёт о приложении на основе Away3D!

Раставил на сцене примитивы назначил примитивам события на вход и на выход мыши:

Код AS3:
plane.addEventListener(MouseEvent3D.MOUSE_OVER, planeEnterFunction);
plane.addEventListener(MouseEvent3D.MOUSE_OUT, planeOutFunction);
 
protected function planeEnterFunction(e:MouseEvent3D):void
{
	trace("<<<ENTER>>> " + (e.target.name - (e.target.name % 5)) / 5);
	activeRow = (e.target.name - (e.target.name % 5)) / 5;
  	colorTransform();
}
 
protected function planeOutFunction(e:MouseEvent3D):void{	trace("<<<OUT>>> " + (e.target.name - (e.target.name % 5)) / 5);}
запустил навёл мышку Получаю трайс типа:

Цитата:
<<<ENTER>>> 1
<<<OUT>>> 1
<<<ENTER>>> 1
<<<OUT>>> 1
<<<ENTER>>> 1

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

Старый 24.09.2012, 13:28
Krusty вне форума Посмотреть профиль Отправить личное сообщение для Krusty Найти все сообщения от Krusty
  № 2  
Ответить с цитированием
Krusty

Регистрация: Jul 2007
Сообщений: 393
И в чем странность? Вы ничего не объяснили.

Старый 24.09.2012, 13:36
areostar вне форума Посмотреть профиль Отправить личное сообщение для areostar Найти все сообщения от areostar
  № 3  
Ответить с цитированием
areostar

Регистрация: Oct 2009
Сообщений: 386
Ну я только навёл мышку - это 1 событие а он выполняет оба причём 2 раза

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

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
такое легко может получится, если внутри plane есть еще видимые объекты
попробуй ROLL_OVER, ROLL_OUT вместо MOUSE_OVER, MOUSE_OUT

Добавлено через 2 минуты
если они есть в Away3D,
если нет, то придется смотреть e.target и отсекать 'левые' срабатывания

Старый 24.09.2012, 17:36
areostar вне форума Посмотреть профиль Отправить личное сообщение для areostar Найти все сообщения от areostar
  № 5  
Ответить с цитированием
areostar

Регистрация: Oct 2009
Сообщений: 386
Такие события тпм есть. поменял но не помогло а как можно "отсекать 'левые' срабатывания"?

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

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

Старый 24.09.2012, 18:00
Krusty вне форума Посмотреть профиль Отправить личное сообщение для Krusty Найти все сообщения от Krusty
  № 7  
Ответить с цитированием
Krusty

Регистрация: Jul 2007
Сообщений: 393
Также при событии можно пройтись по цепочке наследования, проверяя, является ли новый объект чайлдом от предыдущего. Если да-то это просто курсор зашел на чайлд, не уходя с основного объекта. Соответственно-неинтересно.

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

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

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


 


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


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