Просмотр полной версии : динамическое имя переменной
MiddleSky
04.04.2008, 13:57
как задать динамическое имя переменной?
for (a=1; a<=numrez; a++) {
"circle"+a._y=a*10;
}
т.е. есть circle1 circle2 circle3 - это мувиклипы
как к ним обратится через цикл?
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
ну не знаю как вы пробуете ...
вот пример там все работает...
Можно так:
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;
}- так нельзя, не учите флешеров депрекейтед элементами
Если работает, значит можно. ;)
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;
все заработало!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.