libGDX getColor() 方法

Posted

技术标签:

【中文标题】libGDX getColor() 方法【英文标题】:libGDX getColor() method 【发布时间】:2015-02-26 21:33:57 【问题描述】:

我有一个按钮网格,显示在舞台上。设置和获取按钮颜色的行为很奇怪。

int X=0;
int Y=0;
buttons[X][Y].setColor(Color.BLUE);  //this works, the button displays blue
boolean test = (buttons[X][Y].getColor()==Color.BLUE);
System.out.println(test);  //prints 'false' , why???
System.out.println(buttons[X][Y].getColor()); //prints '0000ffff'
System.out.println(Color.BLUE); //prints '0000ffff'

我需要能够为我正在创建的游戏设置和获取按钮的颜色。有谁知道发生了什么以及我能做什么?

【问题讨论】:

您在比较引用而不是值。你可以改用boolean test = buttons[X][Y].getColor.equals(Color.BLUE); 谢谢 Xoppa!我非常感谢您的有益和积极的回答。 buttons[X][Y].getColor().equals(Color.BLUE) - 这是真正有效的。谢谢。 【参考方案1】:

Color 对象不同,但它们具有相同的值。因此,对象可能不等于==,但会等于.equal()。见What is the difference between == vs equals() in Java?

【讨论】:

以上是关于libGDX getColor() 方法的主要内容,如果未能解决你的问题,请参考以下文章

Android中getDrawable和getColor过时的替代方法

getResources().getColorStateList/getDrawable/getColor 过时 Deprecated 的解决方法

在 Android 6.0 Marshmallow (API 23) 上不推荐使用 getColor(int id)

开源java游戏框架libgdx专题-06-使用libgdx自带的日志方法

Libgdx 渲染方法

不推荐使用 getResources().getColor() [重复]