PDA

Просмотр полной версии : Color из String


Dimoshka
26.06.2008, 14:14
У меня создается куча мувиклипов, и каждый разного цвета, данные в xml. Данные конечно же получаются String. Как можно покрасить мувиклип данными из переменки?

Видел что преобразовать цвет можно таким способом:

var my_color = new Color(my_mc);
my_color.setRGB("0x"+stringdata);

Но не получается соединить коды.
Мой код:


holder_mc['star_'+i].beginFill(0xFFCC55);


_root.stcolor[i].... массив цвета.
holder_mc['star_'+i].... очередной мувиклип

примерный вид такой:


var my_color = new Color(my_mc);
color=my_color.setRGB(_root.stcolor[i]);

holder_mc['star_'+i].beginFill(color);


Спасибо.

chingachgoog
26.06.2008, 14:22
А почему бы сразу в xml не внести значение с шестнадцатиричным префиксом "0х"?

crazyone
26.06.2008, 14:29
Какие у вас входные данные?

Последний блок кода — вообще бредовый.
Попробуйте:

color=Number(_root.stcolor[i]);
holder_mc['star_'+i].beginFill(color);

Dimoshka
26.06.2008, 14:39
А почему бы сразу в xml не внести значение с шестнадцатиричным префиксом "0х"?

Так и сделано, но если присваивать переменку сразу, то выдает ошибку, так как данные в стринге. Точнее не ошибку а красит в какой попало цвет.

Dimoshka
26.06.2008, 14:43
holder_mc['star_'+i].beginFill(_root.stcolor[i]);

Не получается. Так как данные из переменки сначало надо перевести в color а потом вставлять в закраску мувиклипа. Вопрос заключается в том - как перевести стринг в колор.

Alex_beginner
26.06.2008, 14:50
Dimoshka! А может ParseInt("string",16) использовать

Волгоградец
26.06.2008, 14:55
Параметр метода beginFill () - это Number. А ты ставишь туда тип Object.
Надо так тогда:
holder_mc['star_'+i].beginFill(color.getRGB);

Alex_beginner
26.06.2008, 15:03
Привет Волгоградец!

Тут немножко другая проблема. Тут банальный случай преобразования String, полученный из xml в Number.

iNils
26.06.2008, 19:39
setRGB (Number ("0x" + stringdata));
если stringdata уже с "0x", то так
setRGB (Number (stringdata));