我正在处理我的第一个 Flash 项目,对于我的预加载器,我想根据加载的百分比做一个非常简单的渐变。预加载器显示“77% 已加载...”,其中数字 77 是一个名为 percentLoaded 的动态文本实例。我希望 percentLoaded 的 textColor 在从 #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 的代码。
谢谢!