2017-07-26 60 views
2

这是我的代码的摘录:如何设置随机颜色

Color[] color = new Color[3]; 
color [0] = Color.red; 
color[1] = Color.blue; 
color[2] = Color.yellow; 
stage.getBatch().setColor(color[rand.nextInt()]); 

但 “颜色[rand.nextInt());”加下划线为红色。我真的不知道为什么。例如在括号中必须有四个数字或者代替“Color.BLUE”,但我想随机对该精灵着色。因此我创建了三种颜色的数组。我想通过给他们数字和使用rand.nextInt它会工作。什么是错误?

+0

这会对你有所帮助:https://stackoverflow.com/questions/40284802/how-to-output-a-random-color-from-a-set-of-selected-colors-in-java- android/40373178#40373178 –

+1

给代码加下划线的红色的实际编译器错误信息是什么? –

+0

错误信息:“Can not resolve method'setColor(java.awt.Color)' – user8340536

回答

3

可以产生这样的随机颜色:

Random rnd = new Random(); 
int color = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256)); 
+0

如果我在Android Studio中编写代码,argb是红色的,所以有一个错误 – user8340536

+0

https://stackoverflow.com/a/4246418/5354875 相当简单的方法可能做到这一点!也看到这个答案,它使得你能够选择只有明亮或黑暗的颜色时,获得随机的 – koksalb

+0

什么是错误信息? –

1

提供的错误消息Error message: "Cannot resolve method 'setColor (java.awt.Color)'它看起来像你正在使用Libgdx的SpriteBatch的颜色不对类。

您需要将进口改为com.badlogic.gdx.graphics.Color

此外,为了正确地随机从3种颜色选择,你需要使用rand.nextInt(color.length)到绑定的随机生成的int数组中元素的个数。