Я работаю над своим первым проектом Flash, и для моего предзагрузчика я хотел бы сделать действительно простой градиент на основе загруженного процента. В предварительном загрузчике написано «77% загружено ...», где число 77 - это динамический текстовый экземпляр с именем процентной загрузкой. Я бы хотел, чтобы textColor ofcentLoaded изменялось по градиенту от # 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 здесь .
Спасибо!