如何设置随机颜色

3
这是我的代码片段:

这是我的代码片段:

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

但是“color[rand.nextInt()]);”被标为红色下划线。我真的不知道为什么。括号中必须有四个数字或者像“Color.BLUE”一样,而我想要随机着色精灵。因此,我创建了一个具有三种颜色的数组。我认为只需给它们数字并使用rand.nextInt就能使其正常工作。错在哪里?


这个链接可能对你有帮助:https://dev59.com/ppvga4cB1Zd3GeqP-f8n#40373178 - Akash Patel
1
代码下划红线时,实际的编译器错误信息是什么? - JK Ly
错误信息:“无法解析方法 'setColor (java.awt.Color)'” - user8340536
2
当您执行stage.getBatch()时,返回的是什么类型? - Alberto S.
3个回答

5
您可以像这样生成随机颜色:
Random rnd = new Random(); 
int color = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));   

我发现了错误:它必须是argb8888。但是,我如何使用这段代码随机更改精灵的颜色呢? - user8340536
什么是精灵?它是一个视图吗? - Ayush Khare
请发布另一个问题,或根据您的新要求编辑您的问题。 - Ayush Khare
好的。关于这个话题,我还有一个问题:我该如何使用你的代码排除黑色和白色? - user8340536
您可以查看ARGB十六进制值,并通过进行检查来排除白色和黑色。 - Ayush Khare
显示剩余4条评论

1

根据错误信息错误信息:“无法解析方法'setColor(java.awt.Color)'看起来你正在使用错误的颜色类库作为Libgdx的SpriteBatch。

你需要将导入更改为com.badlogic.gdx.graphics.Color

另外,要正确地从三种颜色中随机选择,你需要使用rand.nextInt(color.length)将随机生成的整数限制在数组元素的数量上。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接