2012-05-29 5 views
2

를 사용하여 나는 세 가지 프로젝트 LibGDX - 안드로이드 libs와

  1. 이 게임 - 자바 프로젝트
  2. GameAndroid - 안드로이드
  3. GameDesktop - 자바 프로젝트 내가 android.graphics에 액세스 할

. 색상,하지만 내 게임 프로젝트에서 자바, 그래서 할 수 없어. Java.awt.Color insted에 액세스하려고 시도하면 java.lang.NoClassDefFoundError insted가 표시됩니다.

이러한 라이브러리에 액세스 할 수있는 방법이 있습니까?

예를 들어 나는이 방법을 사용하고 싶습니다 :

Color.getHSBColor(); 
+0

이 클래스를 사용하는 코드 스 니펫을 포함 할 수 있습니까? –

답변

4

나는 일반적으로 대신 com.badlogic.gdx.graphics.Color를 사용하는 것이 좋습니다.

플랫폼에 구애받지 않는다는 이점이 있지만 아날로그 간의 구현 차이점에 유의하십시오. 당신이 볼 수 있듯이

public static int toIntBits (int r, int g, int b, int a) { 
    return (a << 24) | (b << 16) | (g << 8) | r; 
} 

는, 인코딩의 순서가 다른 :

public static int argb(int alpha, int red, int green, int blue) { 
    return (alpha << 24) | (red << 16) | (green << 8) | blue; 
} 

과 libgdx의 구현 :

예를 들어, 안드로이드의 구현 (같은 방식으로 AWT의 작품을) 비교 . 참고 용으로 source code 입니다.

HSB-> RGB 변환과 같은 것을 찾으려면 "수동으로"구현할 수 있습니다. 예를 들어 this answer을 참조하십시오. 그러나 libgdx 구현을 사용하여 RGB 구성 요소에서 실제 int를 생성해야합니다.

+0

Color.getHSBColor()와 동일한 기능이 있습니까? 찾을 수 없으므로 java.awt를 사용하기 시작했습니다. – jellyfication

+2

0.9.3 소스 코드에서 이와 같은 것을 보지 못했습니다. 그러나 이것은 간단한 코드로 쉽게 해결할 수 있습니다. 예를 들어 제 대답 편집을보십시오. –

+0

도움 주셔서 감사합니다. – jellyfication