AS3 - 按钮在重新进入框架时不起作用

时间:2014-03-19 16:37:02

标签: actionscript-3 function button mouseevent listener

我在第一帧中设置了三个按钮,用于切换帧。当程序第一次运行时,没有错误,我可以单击任何按钮,最终到达我想要的位置。但是,当返回第一帧时,按钮不再起作用。舞台监听器仍然有效。我添加了“Clicked”输出以检查函数是否被调用,而不是。我知道我禁用了代码中的按钮,但只有在单击该按钮后,任务才完成。我应该提到我没有时间轴上的代码,而是单独的文档。这是我的代码:

package{
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.display.SimpleButton;
public class DocumentClass extends MovieClip
{
    public var matteOppgave:Boolean = false;
    public var engelskOppgave:Boolean = false;
    public var flaggOppgave:Boolean = false;

    public function DocumentClass()
    {
        stop();


        btnBok.addEventListener(MouseEvent.CLICK, matte);
        btnFlagg.addEventListener(MouseEvent.CLICK, flagg);
        btnPc.addEventListener(MouseEvent.CLICK, engelsk);
        stage.addEventListener(Event.ENTER_FRAME, sjekk);


        btnBok.enabled = true;
        btnPc.enabled = true;
        btnFlagg.enabled = true;

        function matte(evt:MouseEvent)
        {
            gotoAndStop(2);
            frame2();
            trace("Clicked");
        }

        function engelsk(evt:MouseEvent)
        {
            gotoAndStop(3);
            frame3();
            trace("Clicked");
        }

        function flagg(evt:MouseEvent)
        {
            gotoAndStop(4);
            frame4();
            trace("Clicked");
        }
        function sjekk(evt:Event)
        {
            if(matteOppgave == true && engelskOppgave == true && flaggOppgave == true)
            {
                gotoAndStop(5);
            }

            if(matteOppgave == true)
            {
                btnBok.alpha = 0.5;
                btnBok.enabled = false;
                låsEin.alpha = 0;
            }
            if(engelskOppgave == true)
            {
                btnPc.alpha = 0.5;
                btnPc.enabled = false;
                låsTo.alpha = 0;
            }
            if(flaggOppgave == true)
            {
                btnFlagg.alpha = 0.5;
                btnFlagg.enabled = false;
                låsTre.alpha = 0;
            }
        }

    }

1 个答案:

答案 0 :(得分:0)

我从另一个论坛发布的解决方案中得到了它。我制作了动画片段中的五帧,并使用addChild()和removeChild()来回改变。