прошить AS3 и _currentframe - PullRequest
       10

прошить AS3 и _currentframe

0 голосов
/ 15 февраля 2011

Хорошо, я попытаюсь объяснить мою проблему. Спасибо за помощь Simsoft. Рамка 1 имеет 9 кнопок с опрокидываниями, выходами и щелчками. Когда пользователь нажимает любую из кнопок, временная шкала переходит к кадру 2, происходит переход от этого вступительного меню и появляется новое, более постоянное меню. К этому моменту мы находимся в 10 кадре. Теперь я могу без проблем использовать это новое меню - проблема заключается в использовании первого меню. Мне нужно первое меню, чтобы перейти к кадру 2, сделать выход-переход (кадры 2-10), а затем, когда оно достигнет кадра 10, перейти к любому кадру, который соответствует кнопке, на которую нажал пользователь. Итак, вот код для кадра 1:

остановка ();

 function rollOverCommand(event:MouseEvent):void{
 if(event.target.name == "button1"){
    event.target.gotoAndPlay(2);

}
if(event.target.name == "button2"){
    event.target.gotoAndPlay(2);
}
if(event.target.name == "button3"){
    event.target.gotoAndPlay(2);
}
if(event.target.name == "button4"){
    event.target.gotoAndPlay(2);
}
    if(event.target.name == "button5"){
    event.target.gotoAndPlay(2);
}
    if(event.target.name == "button6"){
    event.target.gotoAndPlay(2);
}
    if(event.target.name == "button7"){
    event.target.gotoAndPlay(2);
}
    if(event.target.name == "button8"){
    event.target.gotoAndPlay(2);
}
    if(event.target.name == "button9"){
    event.target.gotoAndPlay(2);
}
}



container.addEventListener(MouseEvent.MOUSE_OVER, rollOverCommand);

function rollOutCommand(event:MouseEvent):void{
if(event.target.name == "button1"){
    event.target.gotoAndPlay(11);
}
if(event.target.name == "button2"){
    event.target.gotoAndPlay(11);
}
if(event.target.name == "button3"){
    event.target.gotoAndPlay(11);
}
if(event.target.name == "button4"){
    event.target.gotoAndPlay(11);
}
    if(event.target.name == "button5"){
    event.target.gotoAndPlay(11);
}
    if(event.target.name == "button6"){
    event.target.gotoAndPlay(11);
}
    if(event.target.name == "button7"){
    event.target.gotoAndPlay(11);
}
    if(event.target.name == "button8"){
    event.target.gotoAndPlay(11);
}
    if(event.target.name == "button9"){
    event.target.gotoAndPlay(11);
}
 }
 container.addEventListener(MouseEvent.MOUSE_OUT, rollOutCommand);



 function clickCommand(event:MouseEvent):void{
    if(event.target.name ==   "button1","button2","button3","button4","button5","button6","button7","button8","button9"){
    gotoAndPlay(2);
}
 }
 container.addEventListener(MouseEvent.CLICK, clickCommand);

Вот код в кадре 10 (с использованием новых кнопок, называемых «основными») остановка ();

 container2.addEventListener(MouseEvent.CLICK, clickCommand2);

 function clickCommand2(event:MouseEvent):void
 {
if (event.target.parent.name == "main1")
{

    event.target.root.gotoAndPlay(1);
    trace(event.target.parent.name);
}
else if (event.target.parent.name == "main2")
{
    trace(event.target.parent.name);
    event.target.root.gotoAndStop(13);
}
else if (event.target.parent.name == "main3")
{
    trace(event.target.parent.name);
    event.target.root.gotoAndStop(14);
}
else if (event.target.parent.name == "main4")
{
    trace(event.target.parent.name);
    event.target.root.gotoAndStop(15);
}
else if (event.target.parent.name == "main5")
{
    trace(event.target.parent.name);
    event.target.root.gotoAndStop(16);
}
else if (event.target.parent.name == "main6")
{
    trace(event.target.parent.name);
    event.target.root.gotoAndStop(17);
}
else if (event.target.parent.name == "main7")
{
    trace(event.target.parent.name);
    event.target.root.gotoAndStop(18);
}
else if (event.target.parent.name == "main8")
{
    trace(event.target.parent.name);
    event.target.root.gotoAndStop(19);
}
else if (event.target.parent.name == "main9")
{
    trace(event.target.parent.name);
    event.target.root.gotoAndStop(20);
}
 }











 container2.addEventListener(MouseEvent.MOUSE_OVER, rollOverCommand2);

 function rollOverCommand2(event:MouseEvent):void
 {
if (event.target.name ==    "main1","main2","main3","main4","main5","main6","main7","main8","main9")
{

    event.target.parent.gotoAndPlay(16);

}
 }




 container2.addEventListener(MouseEvent.MOUSE_OUT, rollOutCommand2);

 function rollOutCommand2(event:MouseEvent):void
{
if (event.target.name ==    "main1","main2","main3","main4","main5","main6","main7","main8","main9")
{

    event.target.parent.gotoAndPlay(21);

}
 }

У меня была идея просто написать, чтобы в первом меню альфа-переход постепенно уменьшался до нуля, а затем переходил к соответствующему кадру, который работал, но мой второй, основной набор кнопок, нажатия клавиш, выходов и щелчков просто перестал работать. Вау, это не легко объяснить! В любом случае, я ценю, что вы нашли время, чтобы помочь мне.

Ответы [ 2 ]

0 голосов
/ 15 февраля 2011

Попробуйте что-то вроде этого:

var clickedButton : String;</p> <pre><code>function clickCommand(event:MouseEvent):void{ stage.addEventListener(Event.ENTER_FRAME, onEnterFrame); clickedButton = event.target.name; gotoAndPlay(2); } function onEnterFrame(e:Event) : void { if(currentFrame == 12) { switch(clickedButton) { case "button1": gotoAndStop(13); break; case "button2": gotoAndStop(14); break; } removeEventListener(Event.ENTER_FRAME, onEnterFrame); } }

0 голосов
/ 15 февраля 2011

Вы можете добавить слушателя на событие ENTER_FRAME.

...