Actionscript 3 基于自定义范围的颜色比例?用十六进制?
我如何创建一个自定义颜色比例理想的十六进制?从黄色到红色,取决于物体的高度?这是实现这一目标的正确方法还是有更好的方法而不必在最后转换Actionscript 3 基于自定义范围的颜色比例?用十六进制?,actionscript-3,math,colors,hex,Actionscript 3,Math,Colors,Hex,我如何创建一个自定义颜色比例理想的十六进制?从黄色到红色,取决于物体的高度?这是实现这一目标的正确方法还是有更好的方法而不必在最后转换 var r:int = 255; var b:int = 0; var maxHeight:int = 52; var minHeight:int = 21; var scale:int = 255 / (maxHeight-minHeight); var g:int = 255 - ((object.height-minHeight) * scale);
var r:int = 255;
var b:int = 0;
var maxHeight:int = 52;
var minHeight:int = 21;
var scale:int = 255 / (maxHeight-minHeight);
var g:int = 255 - ((object.height-minHeight) * scale);
var hexColor:uint = RGBtoHEX(r,g,b);
私有函数RGBtoHEX(r:int,g:int,b:int):uint
{
return r这是一个函数,允许您在0-1的范围内查找其他两个颜色值之间的颜色值。我认为它将满足您的需要
private function getBetweenColourByPercent(value:Number = 0.5 /* 0-1 */, highColor:uint = 0xFFFFFF, lowColor:uint = 0x000000):uint {
var r:uint = highColor >> 16;
var g:uint = highColor >> 8 & 0xFF;
var b:uint = highColor & 0xFF;
r += ((lowColor >> 16) - r) * value;
g += ((lowColor >> 8 & 0xFF) - g) * value;
b += ((lowColor & 0xFF) - b) * value;
return (r << 16 | g << 8 | b);
}
私有函数getBetweenColorByPercent(值:Number=0.5/*0-1*/,highColor:uint=0xFFFFFF,lowColor:uint=0x000000):uint{
变量r:uint=highColor>>16;
变量g:uint=highColor>>8&0xFF;
变量b:uint=highColor&0xFF;
r+=((低颜色>>16)-r)*值;
g+=((低颜色>>8&0xFF)-g)*值;
b+=((低颜色&0xFF)-b)*值;
return(r这是一个函数,允许您在0-1的范围内查找其他两个颜色值之间的颜色值。我认为它将满足您的需要
private function getBetweenColourByPercent(value:Number = 0.5 /* 0-1 */, highColor:uint = 0xFFFFFF, lowColor:uint = 0x000000):uint {
var r:uint = highColor >> 16;
var g:uint = highColor >> 8 & 0xFF;
var b:uint = highColor & 0xFF;
r += ((lowColor >> 16) - r) * value;
g += ((lowColor >> 8 & 0xFF) - g) * value;
b += ((lowColor & 0xFF) - b) * value;
return (r << 16 | g << 8 | b);
}
私有函数getBetweenColorByPercent(值:Number=0.5/*0-1*/,highColor:uint=0xFFFFFF,lowColor:uint=0x000000):uint{
变量r:uint=highColor>>16;
变量g:uint=highColor>>8&0xFF;
变量b:uint=highColor&0xFF;
r+=((低颜色>>16)-r)*值;
g+=((低颜色>>8&0xFF)-g)*值;
b+=((低颜色&0xFF)-b)*值;
返回(r非常感谢-我刚刚找到了一种方法,并对我的原始问题进行了文学更新。但这看起来可能是达到预期效果的一种很好的方法。干杯!非常感谢-我刚刚找到了一种方法,并对我的原始问题进行了文学更新。但这似乎是实现d的一种很好的方法红色效果,干杯!