更改现有颜色的RGB值?

时间:2014-05-07 15:47:10

标签: java variables colors rgb

我最近试图制作一个灯"猜测颜色"游戏(我的第一个),你得到一个十六进制代码,你可以选择一些替代品。我完成它的方式我需要收集有关这些替代品的信息(它们只是彩色椭圆形)。无论如何,我需要更改颜色的RGB值,因为它们是随机生成的,并且创建(在这种情况下为10)单独的颜色并且一次设置一个颜色并不是非常有效。

我的问题是,我找不到改变颜色RGB值的方法。基本上我创建了一个颜色数组(我注意到这个问题在没有数组的情况下也存在)但是尝试像使用普通变量一样改变值并不起作用。它只是给我一个错误。

这是具体方法。

public void OvalData(int r, int b, int g, int x, int i){
    //Create two arrays containing the information
    Color OvalColor[] = new Color[difficulty];
    int[] posX = new int[difficulty];
    //Set the infromation
    Color[i] = (r, g, b);
    posX[i] = x;

这就是问题所在:

   `Color[i] = (r, g, b);` 

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

Color[i]=...根本无法工作,因为Color是类的名称,而不是您的变量。您要更改的内容是OvalColor[i],而不是Color[i]

您可以尝试OvalColor[i]=new Color(r, g, b)分配您的一种颜色,但我想还有更多要解决的问题; OvalColor方法OvalData()可能不应该是本地的。{/ p>

与您的问题无关,但与您的编码风格无关:请仅对类名使用初始上限,对变量和方法名称使用初始小写,例如ovalColorpublic void ovalData(...)。这会让你更容易发现问题 - 你已经习惯了#34;分配给某个帽子有一个首字母大写字母不会工作"过了一会儿。