Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Ссылка в мувике (http://www.flasher.ru/forum/showthread.php?t=123403)

Сашокк 01.04.2009 16:30

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

Код AS3:

mcA.scaleX=0;
mcA.scaleY=0;
 
pushA.addEventListener(MouseEvent.ROLL_OVER,showA);
pushA.addEventListener(MouseEvent.ROLL_OUT,hideA);
mcA.addEventListener(MouseEvent.ROLL_OVER,stayA);
mcA.addEventListener(MouseEvent.ROLL_OUT,killA);
var interval:uint;
 
 
function killA(event:MouseEvent) {
        mcA.scaleX=0;
        mcA.scaleY=0;
}
function showA(event:MouseEvent) {
        interval = setInterval(incA,15);
}
function hideA(event:MouseEvent) {
        clearInterval(interval);
        mcA.scaleX=0;
        mcA.scaleY=0;
}
function incA() {
        if(mcA.scaleY>=0.9) clearInterval(interval);
        mcA.scaleX+=0.1;
        mcA.scaleY+=0.1;       
}
function stayA(event:MouseEvent) {
        mcA.scaleX=1;
        mcA.scaleY=1;       
}

В примере, после того как исчезает раздел меню после евента ROLL_OUT всё ещё можно нажать на ссылку, хотя и ссылки уже не видно, почему так происходит и как это устранить?

cdc7600 01.04.2009 16:36

пропишите к клипам ещё removeEventListener

Сашокк 01.04.2009 16:55

Цитата:

Сообщение от cdc7600 (Сообщение 810036)
пропишите к клипам ещё removeEventListener

Зделал так -
Код AS3:

function killA(event:MouseEvent) {
        mcA.scaleX=0;
        mcA.scaleY=0;
        mcA.removeEventListener(MouseEvent.ROLL_OVER,stayA);
        mcA.removeEventListener(MouseEvent.ROLL_OUT,killA);       
}
function showA(event:MouseEvent) {
mcA.addEventListener(MouseEvent.ROLL_OVER,stayA);
mcA.addEventListener(MouseEvent.ROLL_OUT,killA)
        interval = setInterval(incA,15);
}

и убрал mcA.addEventListener в начале, всё равно ссылка доступна и после того как свернул мувик. Но ведь вначале ссылка недоступна, и вроде мувик тоже свёрнут.

cdc7600 01.04.2009 18:34

исходник не открывается
а что это за странный интервал у вас?

эти не надо удалять листенеры?
Код AS3:

pushA.addEventListener(MouseEvent.ROLL_OVER,showA);
pushA.addEventListener(MouseEvent.ROLL_OUT,hideA);


Сашокк 01.04.2009 21:57

Вложений: 1
Интервал для того чтоб подразделы меню плавно (ну более или менее) появлялись.
А эти листенеры относятся к другим мувикам, при наведении мыши на которые появляются подразделы, они вообще к ссылкам не относятся никоим образом, да и удалять их нельзя, вся логическая цепочка развалится, а она и так хрупкая :)
Дело в том что сами ссылки находятся внутри мувика который расширяется при наведении на элемент pushA , и сжимается до scaleX=0 и scaleY=0 при ROLL_OUT с pushA и с него самого.
А делал всё в CS4, наверное из-за этого не открывается.

ЗЫ- тут прикрепил *.html, дико извиняюсь, зделал глупость а как удалить не знаю :)
А исходник рабочий.

Сашокк 03.04.2009 12:19

Никто не знает в чём дело? Вроде видел меню такого типа и рабочие.


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

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