Button 使用事件处理程序或类似的东西

Button 使用事件处理程序或类似的东西,button,adobe,flash-cs5,Button,Adobe,Flash Cs5,我正在使用Adobe Flash CS5和actionscript 3-我的问题是,如何制作一个按钮,使其仅在单击其他四个按钮并访问场景后才可供单击?假设您的5个按钮在时间轴上始终可用,并且它们位于文档的顶层(如果没有,我们需要做一些调整)。我们还假设,根据您的问题,您还没有为文档类文件的最佳实践做好准备,因此这将作为时间线脚本编写 //assumes the 4 buttons are on the stage, named button1, button2, etc. var prerequ

我正在使用Adobe Flash CS5和actionscript 3-我的问题是,如何制作一个按钮,使其仅在单击其他四个按钮并访问场景后才可供单击?

假设您的5个按钮在时间轴上始终可用,并且它们位于文档的顶层(如果没有,我们需要做一些调整)。我们还假设,根据您的问题,您还没有为文档类文件的最佳实践做好准备,因此这将作为时间线脚本编写

//assumes the 4 buttons are on the stage, named button1, button2, etc. var prerequisiteButtons:Array = [button1, button2, button3, button4]; var prerequisitesClicked:Array /*of Boolean*/ = []; coyButton.enabled = false;//your fifth button, who plays hard to get //loop through and listen for clicks on your prerequisite buttons for each (var button:DisplayObject in buttons) { button.addEventListener(MouseEvent.CLICK, checkAllClicked); } //check to see if all the buttons have been clicked function checkAllClicked(e:Event):void { //find the button in the prerequisite buttons array var buttonIndex:int = prerequisiteButtons.indexOf(e.currentTarget); //set the matching index to true in the array that keeps track of what has been clicked prerequisitesClicked[buttonIndex] = true; //count how many of them have been clicked var prerequisiteDoneCount:int = 0; for (var i:int = 0; i< prerequisitesClicked.length; i++) { if (prerequisitesClicked[i]) prerequisiteDoneCount++; } //if all the buttons have been clicked, enable the button (may also want to add a listener here) if (prerequisiteDoneCount==prerequisiteButtons.length) coyButton.enabled = true; } //假设舞台上有4个按钮,分别命名为button1、button2等。 var prerequisiteButtons:Array=[button1,button2,button3,button4]; var-prerequisiseclicked:布尔值的数组/***/=[]; coyButton.enabled=false;//你的第五个按钮,谁玩得很难得到 //循环浏览并聆听对必备按钮的单击 对于每个(变量按钮:按钮中的显示对象){ 按钮.addEventListener(MouseEvent.CLICK,checkAllClicked); } //检查是否已单击所有按钮 函数checkAllClicked(e:事件):无效{ //在必备按钮数组中查找该按钮 var buttonIndex:int=prerequisiteButtons.indexOf(e.currentTarget); //在跟踪单击内容的数组中,将匹配索引设置为true 先决条件单击[buttonIndex]=真; //计算其中有多少已被单击 var prerequisiteDoneCount:int=0; 对于(变量i:int=0;i