PDA

Просмотр полной версии : как использовать 2 onRollOver клипа предка и дочернего одновременно


1uka
03.08.2009, 13:25
Здравствуйте !, возник вопрос такого рода: есть 2 мувиклипа, 1видимый, 2невидимый,при наведении мыши на 1ый должен появляться 2ой, а при выходе мыши из 2ого он же(2ой) должен исчезнуть...впринципе как это описать я представлюя, но вот беда в том, что 2ой мувиклип у меня состоит из нескольких мувиклипов и на наведение каждого из них тоже описана процедура, и когда я пытаюсь работать с onRollOver 2ого клипа, почемуто внутринние клипы не обрабатываются на движение мыши, подскажите как сделать такую реализацию ?
если проще: есть функции дочерних клипов this[i].onRollOver и функция предка this.onRollOut, почемуто определяя this.onRollOut перестают работать this[i].onRollOver ....

Wolsh
03.08.2009, 17:44
Вы положили яблоко в банку и тычете в него пальцем. На что нажимает Ваш палец?

zurkis
03.08.2009, 19:11
RollOver, RollOut и _visible

1uka
03.08.2009, 19:43
"Вы положили яблоко в банку и тычете в него пальцем. На что нажимает Ваш палец?" - очень конструктивное замечание !, да действительно я так и предполагал, что метод перекрывает дочерние, но вопрос то в том как решается данная ситуация ?, в частности у меня реализация color pallet - тобиш сетка из цветов цветовой гаммы 215 основных как в самом флэш - точный аналог, у себя в проекте я реализую некия мувмик-кнопку при наводе на который появляется данный планшет аля "выбери нужный цвет", соответственно для дружелюбного интерфейса необходимо чтобы при "уходе" мыши с палета или кнопки палет исчезал, дайте дельный совет, уже все волосы на ж..., а идеи так и не пришло ...спасибо за внимание.

hittest - впринципе рабочий вариант, но может быть есть более простые решения ?

mooncar
03.08.2009, 19:45
Отслеживание hitTest не думали использовать?

1uka
03.08.2009, 21:33
думали,делали, другого выхода нет ?

mooncar
04.08.2009, 09:41
По сути нам нужно отслеживать, попадает ли указатель мыши на территорию какого-либо объекта - тут AS дает нам RollOver, hitTest и возможность программно отслеживать координаты нахождения мыши относительно териитории объекта. Больше ничего не дано. Мне кажется, hitTest наиболее уместен, когда нужно гибко указывать условия попадания указателя на те или иные объекты, еслипри этом они вложенные.

Wolsh
04.08.2009, 10:21
Да, только наоборот. ХитТест надо использовать для сравнения с самим мувиком палитры, а "краски" - кнопочными событиями. Собственно, они и есть "кнопки". 256 хитТестов никому тут не нужны, mooncar.
1uka, мне непонятна ваша неприязнь к хитТесту. Он для того и предназначен. Что значит "проще" - "извращенней", как в АС1?))

1uka
06.08.2009, 09:48
мне кажется что хитТест нагружает систему, в отличии от онРолл методов..., если я ошибаюсь то с удовольствием буду его юзать)

Wolsh
06.08.2009, 09:51
ХитТест мышки и прямоугольной панели способен нагрузить разве что "Спектрум". Конечно, если Вы не собираетесь ставить его на таймер 100 раз в секунду.

udaaff
06.08.2009, 12:49
1uka, достаньте дочерние клипы из родительского, и сгруппируйте их в отдельном контейнере.

Wolsh
06.08.2009, 14:44
И как это решит проблему?

udaaff
06.08.2009, 14:53
События не будут перекрываться.

Wolsh
06.08.2009, 15:47
А можно поподробней, как это кнопки НАД панелью не будут перекрывать ролловер панели? Разве при заходе мыши на кнопки не произойдет роллАут панели (если перед этим конечно был роллОвер панели)?

mooncar
06.08.2009, 16:34
Автор уже, наверное, прибегнул к hitTest, и это правильно...

udaaff
06.08.2009, 17:58
А можно поподробней, как это кнопки НАД панелью не будут перекрывать ролловер панели? Разве при заходе мыши на кнопки не произойдет роллАут панели (если перед этим конечно был роллОвер панели)?
Я имел в виду, что событие ребенка не будет отменено событием родителя, а не конкретно по данной задаче. Прочитал твой пост про яблоко в банке, и самое простое решение, которое увидел: вытащить яблоко из банки и положить банку с яблоком в коробку =) Можно потыкать и яблоко и банку.
Ну а так да.. только хиттестом или на onMouseMove координаты смотреть, что по сути одно и тоже.

КолорПикер никогда не делал, так как готовые варианты есть и так. Но первый вариант, который приходит на ум: не создавать палитру в виде 256ти кнопок, а использовать BitmapData. Цвет получить: BitmapData.getPixel(). Нет кнопок, нет проблемы с роллАутом =)
Может это и не верный варинат. Не уверен. :)

1uka
01.09.2009, 19:56
udaaff, если я вытащу внутринние клипы из родительского, то перестанет действовать ключевая нужная мне фишка - инвиз панели при ролауте из клипа, пробовал всяко-разно но как говориться судьбу не на..., соответственно hitTest rulezz !!!, всем спасибо !
ps я неожиданно проснулся воскресив темку )