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

wolfgang 04.08.2010 19:25

Неявное обращение к переменным
 
Существует необходимость обратится к переменным неявно указывая их имена.
Например есть ряд переменных
Код AS1/AS2:

var city1="Moscow";
var city2="New-York";
var city3="London";
var city4="Paris";

Использовать массив,при создании переменных, не получится.т.к. переменные передаются в actionscript из html
Требуестя последовательно их прочесть
что то вроде этого:
Код AS1/AS2:

for(i=1;i<5;i++)
{
 trace("city"+i);
}

?

KirAmp 04.08.2010 19:54

Код AS1/AS2:

var qwe = "qwer";
trace(this["qwe"]);


lexa2000lexa 04.08.2010 19:55

Код AS1/AS2:

trace(this["city"+i])


mooncar 04.08.2010 19:55

Если переменные определены на _root :
Код AS1/AS2:

for(i=1;i<5;i++)
{
 trace(_root['city' + i);
}

Или записать this, если код выполняется в пределах того же таймлайна, где существуют эти переменные, то есть если область видимости та же.

KirAmp 04.08.2010 20:00

или же если в клипе:
Код AS1/AS2:

mc["'city' + i"]


wolfgang 08.08.2010 14:55

Почему то переменная определяется в этом случае

Код AS1/AS2:

 _root["city"+1];

и в этом
Код AS1/AS2:

var=1;
 _root["city"+i];

но не в этом:
Код AS1/AS2:

for(i=1;i<2;i++)
{
trace _root["city"+i];
trace this["city"+i];
}


mooncar 08.08.2010 15:01

Код AS1/AS2:

var city1:String = 'Moscow';
var city2:String = 'Gadjukino';
 
for(i=1; i < 3; i++)
{
        trace (_root['city' + i]);
        trace (this['city' + i]);
}



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

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