Форум 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=120982)

harley220 04.02.2009 15:07

Приоретет объектов
 
Кнопки ноходятся нa мувеклипе:
Сам мувик является подсвеченой строкой меню на котором 3 кнопки
Баг в том что когда мы наводим курсор на любую из этих кнопок мувик тухнит начинает работать кнопка,
как сделать чтобы мувик продолжал работать и при этом функцмональность кнопок осталась?
Зарание огромное спасибо

Psycho Tiger 04.02.2009 16:49

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

Если серьезно, то звучит как (извиняюсь за албанский, в конце концов из цитаты слов не выкинешь):
Цитата:

Паправти ету фегню раздражаит
Тот ответ, что я дал выше полностью верный, но он настолько же абстрактен, насколько и ваше описание проблемы. Будьте конкретным, с проблемными кусками кода и своим виденьем решения проблемы.

harley220 05.02.2009 14:12

Вложений: 1
Прошу прощения если суть вопроса неправильно изложил:wacko:
Прикрепляю фалик чтобы было более ясно
Проблема в том что когда кнопка активна мувик на котором она находится становится не активным

Flash_nooob 05.02.2009 15:29

как вариант можно использовать hitTest

harley220 05.02.2009 15:36

А можно по подробние как HitTest применить в моем случае

Flash_nooob 05.02.2009 16:36

Вложений: 1
ну как-то так например
Вложение 21461

harley220 05.02.2009 17:06

Спасибо тебе огромное Flash_nooob выручил

Psycho Tiger 05.02.2009 21:17

Код на клипах, тобишь
Код AS1/AS2:

on (rollOver) {
        gotoAndPlay(4);
}
on (rollOut) {
        gotoAndPlay(1);
}

не рекомендуется писать уже 9 лет.

hitTest в onEnterFrame бесполезно грузит процессор. Зачем?
Да и типизация хромает. Кхм, какая уж типизация, переменные не определены =_=
Если так уж хотите hitTest использовать, то:

(вставить в исходник Flash_nooob`a вместо всего кода на 1 кадре)
Сделайте хотя бы так:
Код AS1/AS2:

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 не сработает:
Код AS1/AS2:

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);
}


qazwsx 06.02.2009 00:32

По еще более хорошему есть MovieClip().onReleaseOutside()

Psycho Tiger 06.02.2009 02:06

Но её придеться прописывать на каждой из N кнопок (главное меню не получит onPress, а значит, и onRelease).
Данный код сверху был приведен с пользованием hitTest
Цитата:

Сообщение от Psycho Tiger
Если так уж хотите hitTest использовать, то:

если писать код ещё и на каждой кнопке, которая находиться над меню - то никакого hitTest`а в помине не нужно.


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

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