AS3 gotoAndStop()无法正常工作并使trace()也无法正常工作

时间:2013-11-02 00:23:54

标签: javascript jquery actionscript-3 flash actionscript

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

每个按钮跳转到另一个框架,在那里特定按钮被“切换”,然后如果再次点击它应该能够跳回主菜单,我将其标记为“主要”。

当我点击按钮B(和C,但我只是将B作为示例)时,它会跟踪“B被选中”,就像它应该的那样,但是当我再次点击时,没有任何反应。它没有跟踪“B被取消选择”或gotoAndStop()在框架“main”上,就像它应该的那样。当我从按钮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");
    }
}

2 个答案:

答案 0 :(得分:0)

The document class

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

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

如果这仍然令人困惑,那么只需查阅一下,就会有很多关于你需要的好书。

答案 1 :(得分: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");