2

私は3つのプロジェクトを持っています

  1. ゲーム-Javaプロジェクト
  2. GameAndroid-Android
  3. GameDesktop-Javaプロジェクト

android.graphics.Colorにアクセスしたいのですが、Javaのゲームプロジェクトに参加しているので、アクセスできません。Java.awt.Color instedにアクセスしようとすると、 java.lang.NoClassDefFoundErrorinstedが表示されます。

これらのライブラリのいずれかにアクセスする方法はありますか?

たとえば、私はこの方法を使用したいと思います:

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 に答える