2012-03-15 15 views
0

長いコードを短いコードに変換しようとしていますが、コードはActionscript 2用ですが、私はas2デバッガを使用しています。しかし、それはムービークリップであることを認識しません(button1〜button3は私が割り当てた3つのムービークリップです)。これまでこの長いコードを短いループに変換する2

button1.onRollOver = function(){ 
m_bt1.scaleTo(70, 1, "easeoutelastic"); 
}; 

button1.onRollOut = function(){ 
m_bt1.scaleTo(100, 1, "easeoutelastic"); 
}; 

button2.onRollOver = function(){ 
m_bt2.scaleTo(70, 1, "easeoutelastic"); 
}; 

button2.onRollOut = function(){ 
m_bt2.scaleTo(100, 1, "easeoutelastic"); 
}; 

button3.onRollOver = function(){ 
    m_bt3.scaleTo(70, 1, "easeoutelastic"); 
}; 

button3.onRollOut = function(){ 
    m_bt3.scaleTo(100, 1, "easeoutelastic"); 
}; 

から

var $i; 
for($i=1; $i <4; $i++){ 
    var main_bt = 'button'+$i; 
    _root.main_bt.onRollOut = function(){ 
     this.main_bt.scaleTo(70, 1, "easeoutelastic"); 
    } 
} 

答えて

0

最初と配列を反復処理よりも、配列内のボタンを入れてみてください:

var buttons = [button1, button2, button3]; 
for(var index=0; index < buttons.length; index++){ 
    var main_bt = buttons[index]; 
    main_bt.onRollOut = function(){ 
     this.main_bt.scaleTo(70, 1, "easeoutelastic"); 
    } 
} 

すぎたりsould作業を次var button = _root['button'+$i]

関連する問題