Просмотр полной версии : Приоретет объектов
harley220
04.02.2009, 15:07
Кнопки ноходятся нa мувеклипе:
Сам мувик является подсвеченой строкой меню на котором 3 кнопки
Баг в том что когда мы наводим курсор на любую из этих кнопок мувик тухнит начинает работать кнопка,
как сделать чтобы мувик продолжал работать и при этом функцмональность кнопок осталась?
Зарание огромное спасибо
Psycho Tiger
04.02.2009, 16:49
Нужна щелкнуть по кадру мышкай, там на кадре вписать код, потом открыть мувеклип, подправить чё нибудь, какую нибудь кнопку или все разом, это уже как получиться, можна и так и так и наслаждаться результатам.
Зарание огромное пожалуйста.
Если серьезно, то звучит как (извиняюсь за албанский, в конце концов из цитаты слов не выкинешь):
Паправти ету фегню раздражаит
Тот ответ, что я дал выше полностью верный, но он настолько же абстрактен, насколько и ваше описание проблемы. Будьте конкретным, с проблемными кусками кода и своим виденьем решения проблемы.
harley220
05.02.2009, 14:12
Прошу прощения если суть вопроса неправильно изложил:wacko:
Прикрепляю фалик чтобы было более ясно
Проблема в том что когда кнопка активна мувик на котором она находится становится не активным
Flash_nooob
05.02.2009, 15:29
как вариант можно использовать hitTest
harley220
05.02.2009, 15:36
А можно по подробние как HitTest применить в моем случае
Flash_nooob
05.02.2009, 16:36
ну как-то так например
21461
harley220
05.02.2009, 17:06
Спасибо тебе огромное Flash_nooob выручил
Psycho Tiger
05.02.2009, 21:17
Код на клипах, тобишь
on (rollOver) {
gotoAndPlay(4);
}
on (rollOut) {
gotoAndPlay(1);
}
не рекомендуется писать уже 9 лет.
hitTest в onEnterFrame бесполезно грузит процессор. Зачем?
Да и типизация хромает. Кхм, какая уж типизация, переменные не определены =_=
Если так уж хотите hitTest использовать, то:
(вставить в исходник Flash_nooob`a вместо всего кода на 1 кадре)
Сделайте хотя бы так:
var currentClip:MovieClip;
for (var i:Number=1;i<=3;i++)
{
currentClip= _root["clip"+i];
currentClip.onRollOver=function():Void{
this.gotoAndStop(2)
}
currentClip.onRollOut=currentClip.onDragOut=function():Void{
if (!this.hitTest(_xmouse,_ymouse)) this.gotoAndStop(1);
}
}
Но по хорошему нужно бы добавить обработчик событий на Mouse, т.к. можно щелкнуть на кнопке и отжать кнопку уже за пределы полосок, тогда событие onRollOut не сработает:
var THIS:MovieClip=this;
var mListener:Object={};
Mouse.addListener(mListener);
mListener.onMouseUp=function():Void{
for (var i:Number=1;i<=3;i++) if (!THIS["clip"+i].hitTest(_xmouse,_ymouse)) THIS["clip"+i].gotoAndStop(1);
}
По еще более хорошему есть MovieClip().onReleaseOutside()
Psycho Tiger
06.02.2009, 02:06
Но её придеться прописывать на каждой из N кнопок (главное меню не получит onPress, а значит, и onRelease).
Данный код сверху был приведен с пользованием hitTest
Если так уж хотите hitTest использовать, то:
если писать код ещё и на каждой кнопке, которая находиться над меню - то никакого hitTest`а в помине не нужно.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.