![]() |
Переменные в цикле
Буду очень благодарен, если кто объяснит, где же я "уперся" в коде.
Получаю 8 переменных (delta1, delta2...) из внешнего файла. Как мне переприсвоить их в другом клипе. Удалось сделать только так: for (i=1; i<=8; i++) { if (i==1) { delta1 = _root.delta1; } else if (i==2) { delta2= _root.delta2; } else if (i==3) { delta3 = _root.delta3; } else if (i==4) { delta4 = _root.delta4; } else if (i==5) { delta5 = _root.delta5; } else if (i==6) { delta6 = _root.delta6; } else if (i==7) { delta7 = _root.delta7; } else if (i==8) { delta8 = _root.delta8; } } |
for (i=1; i<=8; i++) {
delta[i] = _root.delta[i]; } |
2Usnul - ошибка, про массивы в постановке задачи ничего не говорилось.
вот так должно работать: for (i=1; i<=8; i++) { this["delta"+i] = _root["delta"+i]; } 2Alol. Вопрос относится по большей части к Action Script v 1.0. Точнее к основам программирования. А это другой раздел форума. |
Принимай сразу в свой клип.
Чего ты их в Рут принимаешь? Хотя это и не по теме. |
2john
Спасибо за верное решение проблемки! Как говорится, то, что доктор прописал. Да и в синтаксисе кое-что новое узнал. |
Цитата:
а eval('delta'+i) = eval('_root.delta'+i); теперь разве не работает? |
Ну сорьки :)
|
Цитата:
Не всегда this корректно работает. А тот, кто вообще не понимает смысл этой команды вообще может запутаться. |
А кто вам разрешил "евал" слева от = юзать?
Цитата:
eval('delta'+i) = eval('_root.delta'+i); ето не прально и не грите что все компелится и все работает!!! |
this:
Бывают всякие ошибки с прототипами к примеру (только не у меня). Я лично люблю eval. Хоть оно и старое, но надёжное. И я знаю что применение this в этом коде вполне допустимо. Но в прототипах это непримениме. Только если оно там нужно. |
| Часовой пояс GMT +4, время: 21:02. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.