| droch_fhoula |
15.06.2009 00:16 |
вот код
Код AS3:
//---- добавляем кнопки к массиву --------
var buttonsArray:Array = [vampiro_btn,news_btn,gallery_btn,media_btn,music_btn,forum_btn,gratitude_btn,aboutus_btn,contacts_btn];
stop();
//----цикл в массиве buttonsArray-----
//----установим некоторые свойства и добавим события кнопкам----
function setButtons():void {
for (var i:int=0; i<buttonsArray.length; i++) {
buttonsArray[i].id = i;
buttonsArray[i].buttonMode = true;
buttonsArray[i].mouseChildren = false;
buttonsArray[i].mouseEnabled = true;
buttonsArray[i].addEventListener(MouseEvent.ROLL_OVER,playOver);
buttonsArray[i].addEventListener(MouseEvent.ROLL_OUT,playOut);
buttonsArray[i].addEventListener(MouseEvent.CLICK,doClick);
}
}
//----выполняется, когда мышь наводится над кнопкой----
function playOver(event:MouseEvent):void {
event.currentTarget.gotoAndPlay("over");
}
//----выполняется, когда мышь уходит с кнопки----
function playOut(event:MouseEvent):void {
event.currentTarget.gotoAndPlay("out");
}
//----выполняется, когда мышь кликает кнопку-----
function doClick(event:MouseEvent):void{
//----установим переменную currentBtn равную-----
//----идентификатору кнопки (id) , которая была кликнута-----
var currentBtn:int = event.currentTarget.id;
//----вызываем функцию setSelectedBtn
setSelectedBtn(currentBtn);
}
/*проверим, какая кнопка была кликнута,
если id , переданная в функцию setSelectedBtn,
идентична id кликнутой кнопки
мы полагаем, что кнопки находятся в положении нажатой down (выделенная)
и удаляем все события, добавленные к ней*/
function setSelectedBtn(id:int):void{
for (var i:int=0; i< buttonsArray.length; i++) {
if (id == i) {
buttonsArray[i].gotoAndStop("down");
buttonsArray[i].buttonMode = false;
buttonsArray[i].mouseEnabled = false;
buttonsArray[i].removeEventListener(MouseEvent.ROLL_OVER,playOver);
buttonsArray[i].removeEventListener(MouseEvent.ROLL_OUT,playOut);
buttonsArray[i].removeEventListener(MouseEvent.CLICK,doClick);
switch(id){
case 0:
gotoAndPlay(2);
break;
case 1:
gotoAndPlay(41);
break;
case 2:
navigateToURL(new URLRequest("http://youtube.com"),"_blank");
break;
default:
trace("ups, something it's wrong");
break;
}
} else {
if(buttonsArray[i].currentLabel =="down"){
buttonsArray[i].gotoAndPlay("out");
}
buttonsArray[i].buttonMode = true;
buttonsArray[i].mouseEnabled = true;
buttonsArray[i].addEventListener(MouseEvent.ROLL_OVER,playOver);
buttonsArray[i].addEventListener(MouseEvent.ROLL_OUT,playOut);
buttonsArray[i].addEventListener(MouseEvent.CLICK,doClick);
}
}
}
//----вызываем функцию setButtons ----
setButtons();
как отследить какая страница открыта и с определенного кадра проиграть анимацию закрытия?
в as2 я использовала такой код
Код AS1/AS2:
i = 2;
iold = 2;
_root.container.cont2.menu.p1.onRelease = function() {
if (iold == 0) {
_root.container.cont2.menu.p1.gotoAndPlay(31);
_root.container.cont1.menu.gotoAndPlay(2);
} else if (iold == 2) {
_root.container.cont2.p2.gotoAndPlay(30);
_root.container.cont2.gotoAndPlay(31);
} else if (iold == 3) {
_root.container.cont2.menu.p3.gotoAndPlay(30);
_root.container.cont3.gotoAndPlay(31);
} else if (iold == 4) {
_root.container.cont2.menu.p4.gotoAndPlay(30);
_root.container.cont4.gotoAndPlay(31);
} else if (iold == 5) {
_root.container.cont2.menu.p5.gotoAndPlay(30);
_root.container.cont5.gotoAndPlay(31);
} else if (iold == 6) {
_root.container.cont2.menu.p6.gotoAndPlay(30);
_root.container.cont2.gotoAndPlay(31);
}
iold = 1;
i = 1;
}
_root.container.cont2.p2.onRelease = function() {
if (iold == 0) {
_root.container.cont2.p2.gotoAndPlay(31);
_root.container.cont2.gotoAndPlay(2);
} else if (iold == 1) {
_root.container.cont2.menu.p1.gotoAndPlay(30);
_root.container.cont1.gotoAndPlay(31);
} else if (iold == 3) {
_root.container.cont2.menu.p3.gotoAndPlay(30);
_root.container.cont3.gotoAndPlay(31);
} else if (iold == 4) {
_root.container.cont2.menu.p4.gotoAndPlay(30);
_root.container.cont4.gotoAndPlay(31);
} else if (iold == 5) {
_root.container.cont2.menu.p5.gotoAndPlay(30);
_root.container.cont5.gotoAndPlay(31);
} else if (iold == 6) {
_root.container.cont2.menu.p6.gotoAndPlay(30);
_root.container.cont2.gotoAndPlay(31);
}
iold = 2;
i = 2;
}
_root.container.cont2.menu.p3.onRelease = function() {
if (iold == 0) {
_root.container.cont2.menu.p3.gotoAndPlay(31);
_root.container.cont3.gotoAndPlay(2);
} else if (iold == 1) {
_root.container.cont2.menu.p1.gotoAndPlay(30);
_root.container.cont1.gotoAndPlay(31);
} else if (iold == 2) {
_root.container.cont2.p2.gotoAndPlay(30);
_root.container.cont2.gotoAndPlay(31);
} else if (iold == 4) {
_root.container.cont2.menu.p4.gotoAndPlay(30);
_root.container.cont4.gotoAndPlay(31);
} else if (iold == 5) {
_root.container.cont2.menu.p5.gotoAndPlay(30);
_root.container.cont5.gotoAndPlay(31);
} else if (iold == 6) {
_root.container.cont2.menu.p6.gotoAndPlay(30);
_root.container.cont2.gotoAndPlay(31);
}
iold = 3;
i = 3;
}
_root.container.cont2.menu.p4.onRelease = function() {
if (iold == 0) {
_root.container.cont2.menu.p4.gotoAndPlay(31);
_root.container.cont4.gotoAndPlay(2);
} else if (iold == 1) {
_root.container.cont2.menu.p1.gotoAndPlay(30);
_root.container.cont1.gotoAndPlay(31);
} else if (iold == 2) {
_root.container.cont2.p2.gotoAndPlay(30);
_root.container.cont2.gotoAndPlay(31);
} else if (iold == 3) {
_root.container.cont2.menu.p3.gotoAndPlay(30);
_root.container.cont3.gotoAndPlay(31);
} else if (iold == 5) {
_root.container.cont2.menu.p5.gotoAndPlay(30);
_root.container.cont5.gotoAndPlay(31);
} else if (iold == 6) {
_root.container.cont2.menu.p6.gotoAndPlay(30);
_root.container.cont2.gotoAndPlay(31);
}
iold = 4;
i = 4;
}
_root.container.cont2.menu.p5.onRelease = function() {
if (iold == 0) {
_root.container.cont2.menu.p5.gotoAndPlay(31);
_root.container.cont5.gotoAndPlay(2);
} else if (iold == 1) {
_root.container.cont2.menu.p1.gotoAndPlay(30);
_root.container.cont1.gotoAndPlay(31);
} else if (iold == 2) {
_root.container.cont2.p2.gotoAndPlay(30);
_root.container.cont2.gotoAndPlay(31);
} else if (iold == 3) {
_root.container.cont2.menu.p3.gotoAndPlay(30);
_root.container.cont3.gotoAndPlay(31);
} else if (iold == 4) {
_root.container.cont2.menu.p4.gotoAndPlay(30);
_root.container.cont4.gotoAndPlay(31);
} else if (iold == 6) {
_root.container.cont2.menu.p6.gotoAndPlay(30);
_root.container.cont2.gotoAndPlay(31);
}
iold = 5;
i = 5;
}
_root.container.cont2.menu.p6.onRelease = function() {
if (iold == 0) {
_root.container.cont2.menu.p6.gotoAndPlay(31);
_root.container.cont6.gotoAndPlay(2);
} else if (iold == 1) {
_root.container.cont2.menu.p1.gotoAndPlay(30);
_root.container.cont1.gotoAndPlay(31);
} else if (iold == 2) {
_root.container.cont2.p2.gotoAndPlay(30);
_root.container.cont2.gotoAndPlay(31);
} else if (iold == 3) {
_root.container.cont2.menu.p3.gotoAndPlay(30);
_root.container.cont3.gotoAndPlay(31);
} else if (iold == 4) {
_root.container.cont2.menu.p4.gotoAndPlay(30);
_root.container.cont4.gotoAndPlay(31);
} else if (iold == 5) {
_root.container.cont2.menu.p5.gotoAndPlay(30);
_root.container.cont5.gotoAndPlay(31);
}
iold = 6;
i = 6;
}
делала нечто подобное на as3 но реакции на нажатие кнопки нет.
знаю что туплю, но очень сложно сосредаточится в чем проблема
|