我正在进行我的第一个Flash项目,对于我的预加载器,我想根据加载百分比做一个非常简单的渐变。 预加载器显示“77%已加载...”,其中数字77是称为percentLoaded的动态文本实例。 我想让percentLoaded的textColor在从#000000到#FFFFFF的灰度渐变中改变。
因此,我不能简单地这样做:
这只是将textColor转换为FFFFFF的倍数,但输出的是一种颜色,因为它不是三个单独的组件。目前,这是我所拥有的:
“rgb2hex”是在该类中定义的函数,如下所示:
因此,我不能简单地这样做:
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的代码。
谢谢!