Преобразование длинных кодов в более короткий цикл AcrionScript 2 - PullRequest
0 голосов
/ 15 марта 2012

Я пытаюсь преобразовать более длинный код, который у меня есть ниже, в более короткие коды, коды, которые у меня есть, для Actionscript 2, в то время как я использую отладчик as2, trace (), он получает цикл, однако он не распознает, что видеоклип (button1 - button3 - это 3 разных видеоклипа, которые я назначил).

из этого

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");
    }
}

1 Ответ

0 голосов
/ 15 марта 2012

Попробуйте сначала поместить кнопки в массив, а затем итерировать по массиву:

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"); 
    } 
} 

Или может сработать следующее: var button = _root['button'+$i]

...