0

さて、私は私の問題を説明しようとします。シムソフトを助けてくれてありがとう。フレーム 1 には、ロールオーバー、アウト、およびクリックを伴う 9 つのボタンがあります。ユーザーがいずれかのボタンをクリックすると、タイムラインがフレーム 2 にジャンプし、そのイントロ メニューから離れて、新しいより永続的なメニューが表示されます。この時点で、フレーム 10 になっています。これで、この新しいメニューを問題なく使用できます。問題は、最初のメニューを使用することです。フレーム 2 にジャンプし、exit-transition (フレーム 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番目のメインセットが機能しなくなりました。うわー、これを説明するのは簡単ではありません!とにかく、時間を割いて助けてくれてありがとう。

4

2 に答える 2

0

次のようなものを試してください。

var clickedButton : String;

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

于 2011-02-15T14:23:55.647 に答える
0

ENTER_FRAME イベントにリスナーを追加できます。

于 2011-02-15T13:47:37.810 に答える