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

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, отредактируйте свой пост и оформите код тегами [code][/code].

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

Вложений: 1
ну не знаю как вы пробуете ...
вот пример там все работает...

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

Цитата:

Сообщение от sinya
Если работает, значит можно. ;)

- как раз работало криво


Заменил

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

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


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

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