Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Именование переменных (http://www.flasher.ru/forum/showthread.php?t=89376)

Cepreu4 14.12.2006 07:40

Именование переменных
 
Всем здрассе ещё раз... на предыдущую тему забил, думаю на Delphi напишу прогу с доступом к ftp... ну да сейчас не об этом...

У меня тут же назрел новый вопрос, думаю не сложный. Вообщем в прилагаемом коде всё написано в комментах
P.S. Вы уж извините за кривость кода, в Action Script начал пару недель назад разбираться :)

Код:

stop(); //Останавливаем на это кадре
if (vrsLoaded == "0") { // Проверка - загрузились ли переменные
        this.gotoAndPlay(2); //Если нет, то гоняем два кадра пока не загрузяться
}
txtStr = VrsLod.pageText1; //Передаю значение внешней переменной pageText1 к внутренней txtStr для удобства
textArray = txtStr.split(":::"); //Разделяю массив
trace(textArray); //Эта строка просто для того чтобы убедиться в том, что массив загружен
txtCounts = parseInt(VrsLod.textCount); //Перевожу внешнюю переменную указывающую количество статей на странице в числовое значение
trace("Количество статей - " + txtCounts);//Опять же для удобства
for (i = 0; i < txtCounts; i++) {  //Циклически создаю указанное в текстовом файле количество текстовых полей
        trace(i); //Опять же для удобства
        this.createTextField(("newText"+i.toString()),"",20,20,500,100); //Каждое текстовое поле имеет уникальное имя по индексу значений массива textArray чтобы каждая статья вписывалась в отдельное текстовое поле
        newText0.text = textArray[i]      //И ВОТ ЗДЕСЬ ТО ВСЯ ПРОБЛЕММА
        //вместо ноля в newText_.text нужно значение i!!! Как его сюда впихнуть
}

Для тех, кто из кода не поня суть проблеммы:
Вместо newText0.txt нужно ---- newText(значение переменной i).txt чтобы каждому вновь созданному полю циклически присваивались определенные параметры

Azy 14.12.2006 10:19

смотри ман по eval. Пример оттуда
Код:

name1 = "mike";
name2 = "debbie";
name3 = "logan";
for(i = 1; i <= 3; i++) {
    trace (eval("name" add i));        // Output: mike, debbie, logan
}


Cepreu4 14.12.2006 10:23

Огромнейшее спасибо :)))

Aziz Zaynutdinoff 14.12.2006 10:44

Можно и вот так:
Код:

newText[i].txt

Cepreu4 14.12.2006 11:58

шо, без приколов? А разве вот это -> [i] не индекс массива обозначает?? Т.е. я имею в виду разве так просто можно дописывать имена обычных переменных??
p.S. Я после кода немного ошибся, прошу пардон - не .txt а .text (параметр текстового поля)

CorC 14.12.2006 12:01

нет нельзя

Cepreu4 14.12.2006 12:33

Спасибо. За одно и ещё вопрос впаяю. С чем может быть связано странное поведение файла когда при Test Movie, Flash то компилит всё нормально и правильно выдает значения, то пропускает переменные и все получается наперекосяк. Причем пожно просто два раза подряд, ничего не меняя запусить тест и результаты буду разными. Раздражает очень сильно (могу ошибаться но помоему после воода в конструкцию оператора eval появилась такая хреновня)

Cepreu4 14.12.2006 12:37

А, всё! Уловил закономерность! Во всем виноваты trace();.
В коде много трэйсов для ослеживания правильной работы. Так вот если после последнего теста не закрыть output window и тут же запустить тест ещё раз, то получицца фигня.
Даже где-то читал, что при publish'е нужно обязательно ставить галку Omit Trace Actions

etc 14.12.2006 12:39

Aziz, прежде чем что-либо утверждать, необходимо проверить действительность и верность своего утверждения.

CorC 14.12.2006 16:19

я могу дать мувик 1 где все в коже жестоко задано но по-разному отображается на экране!
это зависит от загруженности проца, версии флеш, от характеристик компа


Часовой пояс GMT +4, время: 13:42.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.