Java 这个代码段与颜色有什么关系?

Java 这个代码段与颜色有什么关系?,java,colors,Java,Colors,我正在研究如何渲染精灵表,这家伙给了我一个教程,在这个教程中,精灵表使用了4种颜色:黑色、深灰色、浅灰色和白色 然后,通过一种方法,这些颜色对应于不同的颜色。例如,黑色是绿色,白色是红色等 我想用5种颜色而不是4种颜色,但我想理解这一点,因为它没有被解释 守则: public class Colours { public static int get(int colour1, int colour2, int colour3, int colour4, int colour5) { r

我正在研究如何渲染精灵表,这家伙给了我一个教程,在这个教程中,精灵表使用了4种颜色:黑色、深灰色、浅灰色和白色

然后,通过一种方法,这些颜色对应于不同的颜色。例如,黑色是绿色,白色是红色等

我想用5种颜色而不是4种颜色,但我想理解这一点,因为它没有被解释

守则:

public class Colours {
public static int get(int colour1, int colour2, int colour3, int colour4, int colour5)  {
    return (get(colour4) << 24) + (get(colour3) << 16) + (get(colour2) << 8) + (get(colour1));
}

private static int get(int colour)  {
    if(colour < 0)
        return 255;
    int r = colour / 100 % 10;
    int g = colour / 10 % 10;
    int b = colour % 10;
    return r * 36 + g * 6 + b;
}

static {
    Colours.get(555, 543, 542, 123);
}
}
公共类颜色{
公共静态int-get(int-color1、int-color2、int-color3、int-color4、int-color5){

return(get(color4)它看起来像是采用了以10为基数的RGB方案,并将其转换为以6为基数

那么,如果你的颜色如下

base 10 amount: 154
R G B
1 5 4
它会把它转换成这个

base 10 amount: 48
R G B
1 5 4 (in base 6)

请你再解释一下好吗?@user2687097老实说,我不知道他们为什么这样做,也不知道这是为了什么。他们只是把
154
放在10进制里,然后给你一个
154
的基数6@user2687097基数是数字系统的位数,因此十进制数字系统有10位数ts
0、1、2、3、4、5、6、7、8、9,因此称为基数10。