0

我正在使用 Adob​​e Flash CS5 和 actionscript 3 - 我的问题是如何制作一个只有在单击其他四个按钮并访问场景后才能单击的按钮?

4

1 回答 1

0

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

//假设 4 个按钮在舞台上,分别命名为 button1、button2 等。
var 先决条件Buttons:Array = [button1, button2, button3, button4];
var 先决条件Clicked:Array /*of Boolean*/ = [];

coyButton.enabled = false;//你的第五个按钮,玩的好难拿到

//循环并监听您的先决条件按钮的点击
对于每个(var 按钮:按钮中的显示对象){
    button.addEventListener(MouseEvent.CLICK, checkAllClicked);
}

//检查是否所有的按钮都被点击了
函数 checkAllClicked(e:Event):void {
    //在先决条件按钮数组中找到按钮
    var buttonIndex:int = 先决条件Buttons.indexOf(e.currentTarget);
    //在跟踪已单击内容的数组中将匹配索引设置为true
    先决条件点击[buttonIndex] = true;
    //计算其中有多少被点击
    var 先决条件DoneCount:int = 0;
    for (var i:int = 0; i<prerequisitesClicked.length; i++) {
        if (prerequisitesClicked[i]) 先决条件DoneCount++;
    }
    //如果所有的按钮都被点击了,启用按钮(可能还想在这里添加一个监听器)
    if (prerequisiteDoneCount==prerequisiteButtons.length) coyButton.enabled = true;
}

于 2013-04-24T14:57:05.433 回答