Показать сообщение отдельно
Старый 12.09.2002, 02:45
TTS вне форума Посмотреть профиль Отправить личное сообщение для TTS Найти все сообщения от TTS
  № 1  
TTS
 
Аватар для TTS

Регистрация: Jan 2002
Сообщений: 1,323
Cool mc.onPress=... mc.onRollOver=... mc.onEnterFrame=... mc.onKillFocus=... и т.д.

Это не вопрос, это решение проблемы. Если она у кого-нть возникнет. На форуме не нашел, поэтому и пишу.
А возникает проблема тогда, когда из скрипта на мувик пытаемся повесить какой-нибуь обработчик. Допустим, есть три мувика mc1, mc2 и mc3. Хотим, чтобы при нажатии на какой-либо из них выводился его номер. Пишем:

for(i=1;i<4;i++)
eval("mc" add i).onPress=function(){trace(i);};
stop();

Кликаем на мувики. Результат один - 4. Что и следовало ожидать - это значение переменной i после окончания цикла.
А нужно совсем другое. Делаем "раз":

function setonpress(clip,n){
clip.onPress=function(){trace(n);}
}

Делаем "два":

for(i=1;i<4;i++)
setonpress(eval("mc" add i),i);
stop();

И всё прекрасно работает. Как видите, вместо локальной переменной флэш берет её значение, а не ссылку на неё, как в первом случае.

Я закончил. Спасибо за внимание.