Flash AS2从数组中隐藏对象

Flash AS2从数组中隐藏对象,flash,actionscript,actionscript-2,Flash,Actionscript,Actionscript 2,关于ActionScript2的问题。 我有两个阵列-一个用于按钮,另一个用于按钮触发的电影剪辑: var def:Array = [mc1, mc2, mc3]; var defBtn:Array = [btn1, btn2, btn3]; 因此,我得到了由相应按钮触发的电影剪辑-任何所谓的电影剪辑都是可见的,并播放其时间轴 for(i=0; i<def.length; i++) { defBtn[i].iv = i; def[i].iv = i; defBtn

关于ActionScript2的问题。 我有两个阵列-一个用于按钮,另一个用于按钮触发的电影剪辑:

var def:Array = [mc1, mc2, mc3];
var defBtn:Array = [btn1, btn2, btn3];
因此,我得到了由相应按钮触发的电影剪辑-任何所谓的电影剪辑都是可见的,并播放其时间轴

for(i=0; i<def.length; i++) {
    defBtn[i].iv = i;
    def[i].iv = i;
    defBtn[i].onRelease = function() {
        for( i=0; i<defBtn.length; i++ ) { 
            def[this.iv]._visible = true;
            def[this.iv].play();
        } 
    };          
};

对于(i=0;i我已经很多年没有编写AS2代码了,但我会尝试一下

在每个按钮上,设置以下代码,将索引值更改为与数组中按钮的索引相对应:

on(release){
    showClip(0);  // change value here as needed
}
在同一时间线上,按钮和电影唇存在,您需要以下代码:

var def:Array = [mc1, mc2, mc3];
var defBtn:Array = [btn1, btn2, btn3];

function showClip(clipToShow:Number) {

    // hide all clips
    for( i = 0; i < def.length; i++ ) {
        def[i]._visible = false;
        def[i].stop();
    }

    // only show clip after all clips have been hidden
    def[clipToShow]._visible = false;
    def[clipToShow].stop();

};
var-def:Array=[mc1、mc2、mc3];
变量defBtn:Array=[btn1,btn2,btn3];
函数showClip(CliptShow:编号){
//隐藏所有剪辑
对于(i=0;i

不幸的是,我没有办法在我的机器上编译AS2代码,因为我有Adobe CC 2015,它不再支持AS2;否则,我会为您测试这段代码。希望这对您有用。请告诉我其他情况。

嗨,阿尼尔,非常感谢您回答我的问题。请尊重我,即使您没有使用AS2编写代码使用它已经很长时间了!但是它不起作用,所有的电影剪辑都会显示出来,包括通过点击按钮调用的剪辑。我对AS3非常不好,但我可以尝试一下。你是否可以给我一个AS3中的脚本来完成我想用上面的AS2代码完成的工作?我在fla中的所有其他操作都非常简单o我可以自己把它们翻译成AS3(至少我希望如此!!:)非常感谢!更新-你的代码工作起来很有魅力!对不起,我弄错了!非常感谢。