Форум 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)
-   -   onRollOver animation (http://www.flasher.ru/forum/showthread.php?t=124819)

LUCKY SHAMROCK 09.05.2009 18:00

onRollOver animation
 
Здраствуйте! Возникла не болйшая проблемка.. смисл в том, что при на водке (так скажем) влевую частй екрана появляетца плавно 2 кнопки

Код AS1/AS2:

left.onRollOver = function(){
        lb.leftbtns.gotoAndPlay(2);
}
left.onRollOut = function(){
        lb.leftbtns.gotoAndPlay(18);
}

Значит на 10 кадре стоп(); теперй у каждой кнопки естй аналоги4ний код, к примеру такой:

Код AS1/AS2:

btn1.onRollOver = function(){
        btn2.gotoAndPlay(2);
}
btn1.onRollOut = function(){
        btn2.gotoAndPlay(18);
}


и вот проблема появляетца когда наводиш на одну из етих кнопок, начинает проигриватй фреими не в кнопках а сам клип в котором находятца ети кнопки.. подскажите как ето правилйно должно работатй.
благодарю

Stargazer 09.05.2009 19:02

Что указали - то и играется.
Почитайте про this, _parent и _root.

P.S. Слово "аналогичный" пишется через "ч" (в противоположной части клавиатуры от цифры 4).

LUCKY SHAMROCK 10.05.2009 05:00

Старгазер ти точна понял вопрос? Можна ли в clipe которий появляетца при onRollOver сделатй ешё одну кнопку при наводке которой еше срабативает один clip внутри уже самой кнопке.. я просто даже задав код на кнопку
Код AS1/AS2:

on(rollOver){
trace("xxx");
}

без никаких указаний, цлип в котором кнопка продолжает игратй чего мне не нужно.

Stargazer 10.05.2009 11:06

Ты прав. Этой детали я не понял.

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

Могу предложить 2 решения:
1. Самое удобное - это изменить структуру вложений так, чтобы клипы оказались на "параллельных ветвях". Например, сделать невидимый клип, который будет лежать поверх нужной области и реагировать на появление мышки. При этом другие кнопки будут лежат внутри появляемого клипа, который не будет связан на прямую с невидимым.
2. Почитать про hitTest и проверять пересечение мышки с клипами вручную. Я думаю, что если нет жёстких требований - то лучше первый вариант.

LUCKY SHAMROCK 10.05.2009 17:10

Вообшем вчера полазил и по flasher.ru и в округ интернета на темы с етом проблемой..да нелйзя onRollOver исполйзоватй внутри ешё одного onRollOver все предлогают либо hitTest либо создания нового контейнера..
Ну а толком нигде конечного резулйтата не нашол.. почитал про hitTest.. сделал код:
Код AS1/AS2:

function раз(){
trace('раз');
}
function два(){
trace('два');
}
lb.onRollOver=function(){
                lb.leftbtns.gotoAndPlay(2);
                        if(lb.leftbtns.exitl.hitTest(_xmouse,_ymouse)==true){
два();
}else{
раз();
}
}

видаёт .раз. не работает такой вариант!? давайте наверное исходник дам..

http://www.bigiwin.com/index.fla

Добавлено через 24 часа 54 минуты
Експерти подскажите пожалуйста ето реалйно так сделатй как я запланировал.. вот сайт http://www.bigiwin.com/ тут при наведении на левую частй екрана(кнопка на всю половину екрана) играет клип, теперй нада чтоби ети две кнопочки тоже работали при наведении.. hitTest не помогает в етом случае т.к. кнопка на bсю частй екрана и покривает осталйние.. что делатй? естй виход из етой ситуации или нет?


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

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