2

我有三个项目

  1. 游戏 - Java 项目
  2. GameAndroid - 安卓
  3. GameDesktop - Java 项目

我想访问android.graphics.Color,但我在我的 Java 游戏项目中,所以我不能这样做。当我尝试访问Java.awt.Color insted时,我会得到java.lang.NoClassDefFoundError insted。

有没有办法访问这些库中的任何一个?

例如我想使用这种方法:

Color.getHSBColor();
4

1 回答 1

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;
}

如您所见,编码中的顺序是不同的。这是 供参考的源代码。

如果您正在寻找诸如 HSB->RGB 转换之类的东西,这可以“手动”实现。例如,请参阅此答案- 但请记住使用 libgdx 实现从 RGB 组件生成实际的 int !

于 2012-05-29T20:44:27.503 回答