as3如果单击按钮,如何执行不同的操作

时间:2014-04-17 16:48:28

标签: actionscript-3 flash animation

我是一个完整的n00b。

我正在做一个游戏。基本上,如果在某个关键帧上按下某个按钮,我必须不执行任何操作,但如果没有单击该按钮,我需要场景继续直到某个点,然后转到另一个帧。

在我愚蠢的头脑中,我想:如果我可以创建一个空的全局变量,我可以输入"某些东西"当我的框架上点击按钮并检查后一帧时#34;如果globalvar =="某事":没有任何反应,否则:gotoAndPlay(我需要的地方)"

解释性图片: enter image description here

显然,AS3的工作原理并非如此。那我该怎么办?

import flash.events.MouseEvent;

var pressed = "no";

function work(event:MouseEvent):void
{
    pedal.visible = false;
    cursor_mc.visible = false;
    pressed = "yes"
}

pedal.addEventListener(MouseEvent.CLICK, work);

这是我在需要采取行动时所得到的。

然后我会把(我从未在as3中写过if语句)

if (pressed == "no") {
    gotoAndPlay(some other frame);
}

这将与前一帧完全不同的框架 AND LAYER ,以便仍然可以播放其间的部分。

1 个答案:

答案 0 :(得分:2)

您必须添加一个新事件,并且ENTER_FRAME事件将在每个帧上触发一个函数。在那里你可以检查按钮是否被按下。例如:

stage.addEventListener(Event.ENTER_FRAME, updateFunction);
function updateFunction(e:Event){
    if(pressed == "no"){
        if(currentFrame == frame number when you want to check){
            gotoAndPlay(some other frame);
        }
    }
}