Форум 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=102680)

Menangen 19.10.2007 01:44

Опять динамические переменные)
 
Привет всем! Сегодня на очереди вопрос про AS 1.0 для FMS (flash media server).

Динамические переменные можно задать так:
Код:

for (var i = 0; i < 3; i++) {
 set("caption" + i, "this is caption " + i);
}
// Будут созданы переменные caption0, caption1, caption2.

Это ладно, всё понятно, всё привычно. Теперь как вывести эти переменные так же, динамически с помощью цикла for?

Вот это вот НЕ работает:
Код:

for (var i = 0; i < 3; i++) {
 trace(caption[i]);
}

Т.к., сами понимаете, ищет массив caption, и в нём пытается перебрать элементы под порядковыми номерами i.

Чё делать?

Ну, а ещё проблема чуть хуже, мне надо вывести не только дин. переменные, но и динамически свойства объекта my_lv
Код:

my_lv = new LoadVars();
my_lv.load("http://localhost/site/test2.php");
my_lv.onLoad = function(success) {
    if (success) {
    k = this.toString();
        //Convert the variable string to properties
        my_lv.decode(k);
       
        tracer();
                       
    } else {
    trace("Error loading/parsing LoadVars.");
    }

};

Вобщем, после этого сценария у объекта my_lv появляются свойства, типа:

-если загрузили: &name=escaper& , то:

my_lv.name == escaper;
где name - свойство у my_lv;

Но я, конечно же, гружу пар так 10 переменных: name0, name1, name2, ... из test2.php.

И конвертирую их в свойства:
my_lv.name0
my_lv.name1
my_lv.name2
my_lv.name3...

Как теперь считать эти свойства циклом for? my_lv.name[i] не прокатывает.

Надеюсь, вам интересно )! Буду благодарен за любую помощь. FMS стоит 2.0. Там добавили класс LoadVars() для загрузки переменных из скриптов, txt и т.п.

Сейчас, уже, побившись над этим всем, начал рыть вторую дорогу, через XMLSocket..=))

udaaff 19.10.2007 02:54

Код:

// задаем свойства
for (var i = 0; i<3; i++) {
        //set("caption"+i, "this is caption "+i);
        this["caption"+i] = "this is caption "+i
       
}
// выводим в output
for (var i = 0; i<3; i++) {
        trace(this["caption"+i])
       
}
for (var i = 0; i<3; i++) {
        trace(my_lv["name"+i])
       
}


iNils 19.10.2007 03:37

Menangen, для оформления своего кода, надо использовать теги [code][/code]. Исправляйте.

etc 19.10.2007 11:06

В разделе «AS1/AS2 для Профессионалов» запрещен код с использованием устаревших конструкций.

terbooter 19.10.2007 12:15

Не знаю как там FMS2.0 поживает,
но у меня в FCS1.0 -)))
вот так создаются динамические переменные

Код:

application.onAppStart=function()
{
        application.caption=[];
        trace("application.onAppStart!!!!")
for (var i = 0; i < 3; i++) {
//("caption" + i, "this is caption " + i);
application.caption["ttt"+i]="this is caption " + i
}


for (var i = 0; i < 3; i++) {

        trace(i);
        trace(application.caption["ttt"+i]);
}

for (var i in application.caption )
{
trace(i+" "+application.caption[i])       
}
}


Menangen 21.10.2007 19:26

Цитата:

Сообщение от iNils
Menangen, для оформления своего кода, надо использовать теги code /code. Исправляйте.

Да, извини. Просто я картинки отключил и в Опера криво вышла форма для отправки сообщения. Я искал теги code /code и не нашёл. Далее буду внимателен, спасибо.

__etc, ok, только опривыкаю к форуму ))

terbooter, udaaff - спасибо за хэлп. ) ща бум внедрять =)

// А FMS2.0 поживает отлично - исправлены баги с передачей потокового mp3 (этот баг был в FCS 1.5.). Я как-то писал аппли для прослушки потокового mp3, и нифига не работало. Бился 3 дня. Как дурак. И так крутил, и эдак. Потом уже случайно, через неделю заглянул на Адоб. И на тебе. Баг... Т.ч, ребят, не забывайте: бывает, ошибаются и "другие" программисты. Т.ч., если есть возможность - качай free FMS 2.4 (она доступна на адобе для общего слива) - гораздо более удобная консоль, есть классы по отслеживанию статистики твоего приложения, XML, LoadVars, EDGE сервера и всё такое... привычное нам.


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

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