我是一个完整的n00b。
我正在做一个游戏。基本上,如果在某个关键帧上按下某个按钮,我必须不执行任何操作,但如果没有单击该按钮,我需要场景继续直到某个点,然后转到另一个帧。
在我愚蠢的头脑中,我想:如果我可以创建一个空的全局变量,我可以输入"某些东西"当我的框架上点击按钮并检查后一帧时#34;如果globalvar =="某事":没有任何反应,否则:gotoAndPlay(我需要的地方)"
解释性图片:
显然,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 ,以便仍然可以播放其间的部分。
答案 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);
}
}
}