![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Oct 2009
Сообщений: 386
|
Сразу скажу что речь идёт о приложении на основе Away3D!
Раставил на сцене примитивы назначил примитивам события на вход и на выход мыши: 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);} Цитата:
чем такая странность можкт быть вызвана и что с ней делать? |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 393
|
И в чем странность? Вы ничего не объяснили.
|
|
|||||
|
Регистрация: Oct 2009
Сообщений: 386
|
Ну я только навёл мышку - это 1 событие а он выполняет оба причём 2 раза
|
|
|||||
|
такое легко может получится, если внутри plane есть еще видимые объекты
попробуй ROLL_OVER, ROLL_OUT вместо MOUSE_OVER, MOUSE_OUT Добавлено через 2 минуты если они есть в Away3D, если нет, то придется смотреть e.target и отсекать 'левые' срабатывания |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 386
|
Такие события тпм есть. поменял но не помогло а как можно "отсекать 'левые' срабатывания"?
|
|
|||||
|
При переходе мыши на внутренние объекты имеем MOUSE_OUT, хотя мышь с основного объекта и не выехала. Проанализировав target и relatedObject события можно эту ситуацию понять-обработать как нужно..
или выключить mouseChildren, если не нужны на них события.. если дело в этом, канеш, я вообще-то наугад предположил из-за чего так может быть, что там на самом деле мы ж не знаем |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 393
|
Также при событии можно пройтись по цепочке наследования, проверяя, является ли новый объект чайлдом от предыдущего. Если да-то это просто курсор зашел на чайлд, не уходя с основного объекта. Соответственно-неинтересно.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 21:44. |
|
|
« Предыдущая тема | Следующая тема » |
|
|