Я работаю над своим первым проектом Flash, и для моего предварительного загрузчика я хотел бы сделать очень простой градиент на основе загруженного процента. Предварительный загрузчик говорит «загружено на 77%...», где число 77 — это динамический текстовый экземпляр с именем «percentLoaded». Я бы хотел, чтобы textColor для процентаLoaded изменялся с градиентом от #000000 до #FFFFFF в оттенках серого.
Поэтому я не могу просто сделать:
percentLoaded.textColor=(currentValue/100)*0xFFFFFF;
Это просто преобразует textColor в число, кратное FFFFFF, но выводит цвет, поскольку это не три отдельных компонента. На данный момент вот что у меня есть:
percentLoaded.text=currentValue.toString();
percentLoaded.textColor=rgb2hex((currentValue/100)*255, (currentValue/100)*255, (currentValue/100)*255);
Где «rgb2hex» — это функция, определенная в классе как таковая:
public function rgb2hex(r:Number, g:Number, b:Number) {
return '0x'+(r << 16 | g << 8 | b).toString(16).toUpperCase();
}
Однако это не похоже на изменение цвета шрифта. Я импортировал flash.text.TextField и flash.display.MovieClip, но не уверен, что упустил что-то еще. Было бы проще сделать это с конкатенацией строк? Или, может быть, что-то происходит с currentValue/100 и передается как число?
Если интересно, я нашел код для rgb2hex здесь.
Спасибо!