Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Пересечение событий (http://www.flasher.ru/forum/showthread.php?t=92527)

Pow R. Toc H. 27.02.2007 18:56

Пересечение событий
 
Есть большой клип, к которому привязаны события onPress и onRelease
в него необходимо добавить некоторое количество дополнительных клипов, и привязать к ним события onRollOver, onRollOut/onReleaseOutside...
проблема в том что события обрабатываться только для главного клипа, а для внутренних не хотят работать...

CorC 27.02.2007 19:00

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

Pow R. Toc H. 27.02.2007 19:18

а можно разбить клип на 2 клипа? где в верхнем хранить дочерние клипы, а в нижнем основной..

Мыкыта 27.02.2007 19:24

и так тоже можно только области реагирования не пересекай

Pow R. Toc H. 27.02.2007 19:27

не.... они в любом случае будут пересекаться...

CorC 27.02.2007 19:37

ну тогда hitTest+Mouse тебе в руки!
только как ты будешь определять что выше из дочерних?
предлагаю в массив загонять приоритеты и потом уже
по ним следить, какой клип активировать

Pow R. Toc H. 27.02.2007 20:01

дочерние елементы по идеи не должны пересекаться...
пересечение только с большим и дочерними...

Pow R. Toc H. 27.02.2007 20:30

вообще мне для дочерних элементов нужно было разработать всплывающие подсказки.. тока как мне теперь их удалять?
может hitTest использовать для временного глушения оброботчика события для главного клипа?

CorC 27.02.2007 20:32

тогда хиттест ставь а зависимости от глубины...

Pow R. Toc H. 27.02.2007 20:45

делаю так, но почему то не хочет убиваться..

Код:

_root.field_mc.elem_mc["pixel_"+i].onMouseMove = function(){
        if(this.hitTest(_root._xmouse, _root._ymouse,true)){
                var tooltip:MovieClip = _root.attachMovie("tooltip","tooltip_new", _root.getNextHighestDepth());
                tooltip._x = _root._xmouse;
                tooltip._y = _root._ymouse;
                               
        }
        else{
                _root.tooltip_new.removeMovieClip();
        }
}



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

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