Просмотр полной версии : кнопка в кнопке - отслеживание нажатий
Приветствую
У меня есть MovieClip на котором висит код на нажатие мышкой
mcMyMovieClip.onPress = function(){}
внутри него есть еще один MovieClip со своим кодом на нажатие
mcMySubMovieClip.onPress = function(){}
когда я нажимаю на это подролик выполняется код для ролика
а хотелось бы чтобы все работало как надо - т.е. если нажимаю на подролик - выполняется код подролика, если на остальную область ролика - то код ролика
hitTest используй две проверки, потому что кнопка в кнопке (мувики с поведением кнопки) не будут работать независимо, всегда будет отрабатываться только одна.
При проверке щелчка по родителю нужно условие поставить, когда смотрим его hitTest с мышью, что если если мышь в тот момент и на дочернем мувике, то условие для родительского не должно выполняться. Проверку выполняй по событию onMouseDown любого мувика сцены.
Допустим, mcMySubMovieClip находится внутри родительского mcMyMovieClip, тогда в кадре нужно написать:
this.onMouseDown = function () {
if (mcMyMovieClip.hitTest(_root._xmouse, _root._ymouse)) { //если попадаем в область родителя
if (!mcMyMovieClip.mcMySubMovieClip.hitTest(_root._xmouse, _root._ymouse)) { //и не попадаем в дочерний
trace("Нажатие на мувик mcMyMovieClip");
}
else { //иначе, если попадая и в родительский, попадаем и в дочерний
trace("Нажатие на мувик mcMySubMovieClip");
}
}
};
Правда при этом курсор в пальчик не будет превращаться :)
Есть еще вариант: не вкладывать одну кнопку в другую, а разместить вторую над первой. Если нужно их сгруппировать, то можно положить обе в один контейнер.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.