Форум 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)
-   -   переконвертировать a="b" в a=b командой? (http://www.flasher.ru/forum/showthread.php?t=88345)

ader 21.11.2006 21:35

переконвертировать a="b" в a=b командой?
 
Я не знаю как правиольно задать вопрос тк. не знаком с специальными терминами. Потому опишу чего собсно я хочу узнать.

Можно ли при помощи какой-нибудь команды переконвертировать значение переменной в имя переменной? или на оборот?

т.е. у меня есть переменная a. у которой значение "b". У меня также есть переменная b у которой значение "с". Нужно перевести значение переменной a в переменную b.
b = "c";
a = "b";
convert a to a=b;

Написать просто a = b я не могу потому что значение передаётся через функцию и оно изначально в кавычках. А в самой функции я бы хотел использовать одну и ту же переменную и её значение в разных случаях. А случаи бывают либо в кавычках либо без.
Сама функция мультизадачная. Т.е. используется 3 4 раза с разными параметрами.

iNils 21.11.2006 22:22

Код:

b = "c";
a = "b";
trace (this[a])


ader 21.11.2006 22:39

Да не то блин.

a = "b" <=> a = b

Убрать ковычки со значения переменной a.

В PHP это просто реализовано:
$login = 'Ader';
$var_name = 'login';
echo $$var_name;

Kikasso 21.11.2006 22:41

Код:

a = "b";
b = "c";
trace(eval(a));

так Вас устроит?

ader 21.11.2006 22:42

можно так написать?
eval('mc.'+target_mc+'.lineStyle(BorderSize, BorderColor, 100)');

Kikasso 21.11.2006 22:52

Цитата:

Сообщение от ader
можно так написать?
eval('mc.'+target_mc+'.lineStyle(BorderSize, BorderColor, 100)');

можно так написать:
Код:

eval('mc.'+target_mc+'.lineStyle(BorderSize, BorderColor, 100)');
Ну так напиши и оттрейсь - что выдаст.

ader 21.11.2006 23:15

Не работает так :(

Я создаю мувиклип
Код:

mc.createEmptyMovieClip(target_mc, level);
потом мне нужно к нему как-то обратится
Код:

mc.+target_mc+._alpha = 0;
значение target_mс я передаю через функцию, где переменная target_mc = "movieclip";

Я не могу использовать createEmptyMovieClip имя клипа без кавычек, так же как я не могу обращатся к уже созданному клипу в кавычках.

Вот весь код чтоб понятнее было:
Код:

makeBox = function (mc, target_mc, level, BorderSize, BorderColor, FillColor, tsX, tsY, tX, tY, mask) {
        mc.createEmptyMovieClip(target_mc, level);
        // тут нужно переконвертировать target_mc = "fill_mc"; в target_mc = fill_mc; Но я немогу :(
        mc.target_mc.lineStyle(BorderSize, BorderColor, 100);
        mc.target_mc.beginFill(FillColor, 100);
        mc.target_mc.moveTo(tsX, tsY);
        mc.target_mc.lineTo(tX, tsY);
        mc.target_mc.lineTo(tX, tY);
        mc.target_mc.lineTo(tsX, tY);
        mc.target_mc.endFill();
        if (mask == true) {
                mc.setMask(mc.target_mc);
        }
};

// вызов функции
makeBox(thumbs, "fill_mc", 0, 2, 0xffffff, 0x999999, 0-margin*2, 0-margin*2, 500+margin*2, 100+margin*2, false);

Я конечно понимаю что я извращаюсь - можно сделать по другому, но просто хочется знать можно ли вообще так делать. Делают ли так?

iNils 21.11.2006 23:16

Цитата:

Сообщение от ader
Да не то блин.

a = "b" <=> a = b

Убрать ковычки со значения переменной a.

В PHP это просто реализовано:
$login = 'Ader';
$var_name = 'login';
echo $$var_name;

Голову включите
Код:

b = "c";
a = "b";
trace (a);
a = this[a];
trace (a);


ader 21.11.2006 23:35

после того как я пишу внутри функции
Код:

target_mc = this[target_mc];
target_mc становится undefined.

Цитата:

Сообщение от iNils
Голову включите

Взаимно ;)

Kikasso 21.11.2006 23:43

безнадежно. тебе дважды ответили. this и eval извинись и в поиск.


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

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