PDA

Просмотр полной версии : динамическое имя переменной


MiddleSky
04.04.2008, 13:57
как задать динамическое имя переменной?

for (a=1; a<=numrez; a++) {
"circle"+a._y=a*10;
}


т.е. есть circle1 circle2 circle3 - это мувиклипы

как к ним обратится через цикл?

etc
04.04.2008, 13:58
MiddleSky, отредактируйте свой пост и оформите код тегами .

MiddleSky
04.04.2008, 14:06
исправил

lexa2000lexa
04.04.2008, 14:09
for (a=1; a<=numrez; a++) {
this["circle"+a]._y=a*10;
}

можно вот так.....

MiddleSky
04.04.2008, 14:13
неа..не пашет!

Fernando Costa
04.04.2008, 14:18
трейс рулит
for (a=1; a<=numrez; a++) {
trace(a)
trace(this)
trace(this["circle"+a])
this["circle"+a]._y=a*10;
}

lexa2000lexa
04.04.2008, 14:20
ну не знаю как вы пробуете ...
вот пример там все работает...

sinya
04.04.2008, 14:35
Можно так:

for (a=1; a<=numrez; a++) {
eval("circle"+a)._y=a*10;
}


А можно при создании толпы circle-ов отдавать ссылки на них в массив:

circ[i] = attachMovie("circle", "circle"+i .......


и потом обращаться к circ[i].

Fernando Costa
04.04.2008, 14:46
for (a=1; a<=numrez; a++) {
eval("circle"+a)._y=a*10;
}- так нельзя, не учите флешеров депрекейтед элементами

sinya
04.04.2008, 14:52
Если работает, значит можно. ;)

Fernando Costa
04.04.2008, 15:01
мдя, что тут сказать...
че уж там - гулять так гулять


for (a=1; a<=numrez; a++) {
setProperty(eval("circle"+a), _y, a*10);
}

MiddleSky
04.04.2008, 15:10
_level0.qqq.text='0';

var submitListener:Object = new Object();
var result_lv:LoadVars = new LoadVars();

result_lv.onLoad = function(success:Boolean) {
if (success) {
trace('success');
rez = this.rez;
numrez = this.numrez;

//if (numrez!=undefined) {
trace(rez);
_level0.qqq.text=numrez+'!!!'+rez;

trace('hhhhhhhhhhhh');
numrez=2;
for (a=1; a<=numrez; a++) {
_level0.attachMovie( "circle", "circle"+a, a );

this["circle"+a]._y=a*10;
//circle2._y=177;
_level0.qqq.text+=a;
}



//}

} else {
_level0.qqq.text='222222';
trace('success2222');
}

};

var send_lv:LoadVars = new LoadVars();
// send_lv.name = name_ti.text;

send_lv.sendAndLoad("p5.php", result_lv, "POST");




а в p5.php
скажем прсото возвращаем число <? echo "numrez=2&"; ?>

Получается что пока цыкл описанный в начале темы вне result_lv.onLoad = function(success:Boolean) {

все дублируется на ура....а когда в ...то ниче не работает.....

MiddleSky
04.04.2008, 15:21
Если работает, значит можно. ;)
- как раз работало криво


Заменил

this["circle"+a]._y=a*10;
на
eval("circle"+a)._y=a*10;

все заработало!