0

我有三个按钮,应该在单击和关闭时切换。这三个都有相同的代码,但只有第一个有效。

每个按钮都会跳转到一个不同的框架,该特定按钮被“切换”,然后如果再次单击它应该能够跳回主菜单,我将其标记为“主”。

当我单击按钮 B(和 C,但我只是以 B 为例)时,它会像应有的那样跟踪“B 被选中”,但是当我再次单击时,什么也没有发生。它不会像预期的那样在“main”帧上跟踪“B was deselected”或 gotoAndStop()。当我从按钮 B 和 C 中删除 gotoAndStop() 行时,它运行正确,在打开和关闭时跟踪“B 被选中”,然后“B 被取消选择”。

我完全不知道为什么按钮 B 和 C 不起作用,而且我已经多次重写代码。

任何人都可以给我的任何帮助将不胜感激!

   stop();

var a:int;
a=0;
var b:int;
b=0;
var c:int;
c=0;

var hitA:Boolean=false;

btnA.addEventListener(MouseEvent.CLICK, AHandler);
function AHandler(e:Object):void {
    if (hitA==false) {
        hitA=true; 
    }
    if(a==0){
        trace("A was selected");
        gotoAndStop("Aup");
        a=1
        } else {
                trace("A was deselected");
                a=0;
                gotoAndStop("main");
    }
}


//////Button B

var hitB:Boolean=false;

btnB.addEventListener(MouseEvent.CLICK, BHandler);
function BHandler(e:Object):void {
    if (hitB==false) {
        hitB=true;
    }
    if(b==0){
        trace("B was selected");
        gotoAndStop("Bup");
        b=1
        } else {
                trace("B was deselected");
                b=0;
                gotoAndStop("main");
    }
}

//////Button C


var hitC:Boolean=false;

btnC.addEventListener(MouseEvent.CLICK, CHandler);
function CHandler(e:Object):void {
    if (hitC==false) {
        hitC=true; 
    }
    if(c==0){
        trace("C was selected");
        gotoAndStop("Cup");
        c=1
        } else {
                trace("C was deselected");
                c=0;
                gotoAndStop("main");
    }
}
4

2 回答 2

0

文档类

此图片突出显示了您为项目指定文档类的位置。此类是一个动作脚本文件 (.as),与所有 .as 文件一样,它们包含代码。它与您放在时间轴上的代码相同,除了 .as 与 .fla 文件分开,但仍然可以连接到它。将代码写入 .as 文件时,您只需将其全部放在一个包中,然后放在一个类中,但除此之外,您可以复制并粘贴您的代码。如果它在文档类中,无论如何它都会运行框架你的时间线是在。

package{
  public class{
    // your code here
  }
}

如果这仍然令人困惑,那么只需查找它,有很多很棒的书籍,几乎涵盖了您需要的任何东西。

于 2013-11-03T02:38:34.833 回答
0

你可以试试这个代码...

btnA.addEventListener(MouseEvent.CLICK, AHandler);
function AHandler(e:Object):void {
    if (hitA==false) {
        hitA=true; 
    }

btnA.addEventListener(MouseEvent.DOUBLE_CLICK, Adouble);
function Adouble(e:Object):void {
    gotoAndStop("main");
于 2013-11-03T07:51:02.883 回答