Actionscript 创建较暗的颜色

Actionscript 创建较暗的颜色,actionscript,actionscript-2,Actionscript,Actionscript 2,我正在开发一个从XML文件加载动态颜色的应用程序。在某些地方,我需要应用程序从十六进制中获得类似但较暗的颜色。每一个值将以十六进制下降33(十进制下降51)。比如: 0xFFFFFF将成为0xCCCC 0x6600CC将变成0x330099 我的十六进制值是字符串。 我就是想不出如何用一种简单的方法来解决这个问题 求求你,救命 记住,这是AS2 您应该在众多颜色库中搜索一个。如果你想自己做,你需要了解一些位运算符。我认为把颜色减少百分之几而不是减色可以给你一个更好的结果 var color:in

我正在开发一个从XML文件加载动态颜色的应用程序。在某些地方,我需要应用程序从十六进制中获得类似但较暗的颜色。每一个值将以十六进制下降33(十进制下降51)。比如:

  • 0xFFFFFF将成为0xCCCC
  • 0x6600CC将变成0x330099
  • 我的十六进制值是字符串。 我就是想不出如何用一种简单的方法来解决这个问题

    求求你,救命


    记住,这是AS2

    您应该在众多颜色库中搜索一个。如果你想自己做,你需要了解一些位运算符。我认为把颜色减少百分之几而不是减色可以给你一个更好的结果

    var color:int = parseInt(colorString);
    
    // use the shift operator to get individual colour values
    var red:int = (color>> 16) & 0xFF;
    var green:int = (color>> 8) & 0xFF;
    var blue:int = color & 0xFF;
    
    // change colours by subtracting. Todo: make sure colours are between 0 and 255
    /* 
    red -= 0x33;
    green -= 0x33;
    blue -= 0x33; */
    
    // make colours darker by 10%
    red *= 0.9;
    green *= 0.9;
    blue *= 0.9;
    
    // combine individual colours
    color = (red << 16) | (green << 8) | blue;
    
    var-color:int=parseInt(colorString);
    //使用shift运算符获取各个颜色值
    变量红色:int=(颜色>>16)&0xFF;
    绿色变量:int=(颜色>>8)&0xFF;
    蓝色变量:int=color&0xFF;
    //通过减法改变颜色。Todo:确保颜色介于0和255之间
    /* 
    红色-=0x33;
    绿色-=0x33;
    蓝色-=0x33*/
    //使颜色变暗10%
    红色*=0.9;
    绿色*=0.9;
    蓝色*=0.9;
    //组合各种颜色
    颜色=(红色)