ActionScript 2.0 - 按钮悬停可见false两个其他按钮

时间:2014-09-27 15:34:17

标签: flash actionscript actionscript-2 visible

我使用ActionScript 2.0脚本在Flash上​​制作内容。我有一个名为剪辑的影片剪辑。在里面我有另一个名为 starters 的电影剪辑。在初学者中,我有三个不同的按钮,其中都有一个悬停图层。 我想要那些按钮做什么:当我将鼠标悬停在每个按钮上以使其他按钮 visible = false 时,我想要它们。然后当我徘徊回到正常状态时。

按钮名为btn1,btn2,btn3。

提前谢谢!

2 个答案:

答案 0 :(得分:1)

我担心我对Actionscript 2不熟悉。但是,通过一些研究,我能够破译那种奇怪的语言并想出这个。

将其放入包含clip的图层中的操作面板中。我们今天不会在对象上放置任何代码!

clip.starters.btn1.onRollOver = hideButtons
clip.starters.btn2.onRollOver = hideButtons
clip.starters.btn3.onRollOver = hideButtons
//set the onRollOver function of each button to function hideButtons()

clip.starters.btn1.onRollOut = showButtons
clip.starters.btn2.onRollOut = showButtons
clip.starters.btn3.onRollOut = showButtons
//set the onRollOut function of each button to function showButtons()

function hideButtons() {
    //repeat the action for all items in "starter"
    for (var Item in clip.starters) {
        //make all items invisible
        clip.starters[Item]._visible = false
    }
    //make the caller of  hideButtons() visible
    this._visible = true
}

function showButtons() {
    //repeat the action for all items in "starter"
    for (var Item in clip.starters) {
        //make everything visible
        clip.starters[Item]._visible = true
    }
}

希望对你有用。如果您需要我的建议,请学习Actionscript 3.0!它使用得更广泛,代码更清晰。

祝你好运!

答案 1 :(得分:1)

试试这个(动作2):

var Bt:Array = [_root.clip.starters.btn1, _root.clip.starters.btn2, _root.clip.starters.btn3];

for(i=0; i<Bt.length; i++){
    Bt[i].iv = i;
    Bt[i].onRollOver = function(){
        for( i=0; i<Bt.length; i++ ){ Bt[i]._visible = false; }
        Bt[this.iv]._visible = true;
    };

    Bt[i].onRollOut = function(){
        for( i=0; i<Bt.length; i++ ){ Bt[i]._visible = true; }
    };
};

动画:

import mx.transitions.Tween;
import mx.transitions.easing.*;
var Bt:Array = [_root.clip.starters.btn1, _root.clip.starters.btn2, _root.clip.starters.btn3];

for(i=0;i<Bt.length;i++){
    Bt[i].iv = i;
    Bt[i].onRollOver=function(){
        for(i=0;i<Bt.length;i++){
            if(i != this.iv){
            new Tween(Bt[i], "_alpha", Strong.easeOut, 100, 0, 15, false);
            new Tween(Bt[i], "_x", Back.easeOut, Bt[i]._x, (Bt[i]._x-10), 1, true);
            }
        }
    };

    Bt[i].onRollOut=function(){
        for(i=0;i<Bt.length;i++){
            if(Bt[i]._alpha ==0){
            new Tween(Bt[i], "_alpha", Strong.easeOut, 0, 100, 15, false);
            new Tween(Bt[i], "_x", Back.easeOut, Bt[i]._x, (Bt[i]._x+10), 1, true);
            }
        }
    };
};