我有三个项目
我想访问 android.graphics.Color ,但我在我的Game项目中是java,所以我不能这样做。当我尝试访问 Java.awt.Color 时,我会得到 java.lang.NoClassDefFoundError 。
有没有办法访问这些库中的任何一个?
例如我想使用这种方法:
Color.getHSBColor();
答案 0 :(得分:4)
我通常建议改用com.badlogic.gdx.graphics.Color
。
它具有与平台无关的优点 - 但请注意类似物之间的实现差异。
例如,比较Android的实现(AWT以相同的方式工作):
public static int argb(int alpha, int red, int green, int blue) {
return (alpha << 24) | (red << 16) | (green << 8) | blue;
}
和libgdx实现:
public static int toIntBits (int r, int g, int b, int a) {
return (a << 24) | (b << 16) | (g << 8) | r;
}
如您所见,编码中的顺序是不同的。这是source code 供参考。
如果你正在寻找诸如HSB-> RGB转换之类的东西,这可以“手动”实现。例如,请参阅this answer - 但请记住使用libgdx实现从RGB组件生成实际的int!