2014-09-27 53 views
0

我正在使用ActionScript 2.0脚本在Flash上​​做些什么。我有一个名为的剪辑片段。里面我有另一个影片剪辑名为首发。在首发我有三个不同的按钮,其中都有一个悬停层。 我想要那些按钮来做什么:当我将鼠标悬停在每个按钮上时,我想让它们成为visible = false。然后当我徘徊回到正常状态时。ActionScript 2.0 - 按钮悬停可见false其他两个按钮

这些按钮被命名为btn1,btn2,btn3。

预先感谢您!

回答

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

试试这个(动作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); 
      } 
     } 
    }; 
};