Pi-TechВ твоём случае имеются ошибки (логические) в коде, что приводит к его некорректной работе. А ты удивляешься, почему он так работает - алгоритм работает в точности, как ты его задал (указал перебор массивов вне onEnterFrame). Причём алгоритм изначально нерабочий, его нужно переделывать - как указать перебор массивов внутри onEnterFrame, так и правильно обращаться к массивам.
Цитата
у меня получаеться действие только когда последняя пара клипов сравниваетс
Ты указал перебор массивов в кадре, вне функции onEnterFrame, поэтому будут сравниваться только последние. Т.е. алгоритм работает как ты его и записал. Поэтому код нужно переделать. Посмотри на рабочий код, который nikitar привёл тебе сегодня.
Цитата
В общем, ошибка оказалась простой и незатейлевой.
Ты неправильно обращаешься к мувиклипам.
Это одна из логических ошибок (которая относится больше к синтаксису, но сам флеш её не считает синтаксической, поэтому ошибка считается логической, что нужно имена мувиков было взять в кавычки).
Две другие логические ошибки (в изначальном коде Pi-Tech) - это запись перебора массивов вне onEnterFrame, и некорректные условие сравнения. Которые ты, nikitar, исправил в своём коде. Лишь замечу, что ты явно ленишься использовать точки с запятой - у тебя то стоят ";", то нет - непостоянный стиль. Независимо от того, что флеш допускает не ставить точки с запятой, если уж ты их используешь, то используй их во всём коде

(т.е. используй один стиль написания).
Цитата
как сдедать что бы у всех элементов массива альфа=20
В массиве задай параметр прозрачности всем элементам.
Для массивов a и b код будет следующим (с учётом обработчиков onPress и onRelease):
Код
for (i=0; i<a.length; i++){
mc=a[i];
mc._alpha=20;
this[mc].onPress=function(){
this.startDrag();
}
this[mc].onRelease=function(){
this.stopDrag();
}
}
for (i=0; i<b.length; i++){
mc=b[i];
mc._alpha=20;
this[mc].onPress=function(){
this.startDrag();
}
this[mc].onRelease=function(){
this.stopDrag();
}
}