2012-12-08 4 views
3

저는 libgdx를 사용하여 Android 용 게임을 개발 중이며 EditText 및 Button과 같은 Android UI 요소를 만드는 방법에 대해 궁금합니다. 나는 이런 식으로 뭔가를 만들 수 있도록 안드로이드에만 작동 이해 :libgdx를 사용하여 Android UI 요소를 만드는 방법

if (Gdx.app.getType() == Application.ApplicationType.Android) { 
... 
} 

내가 scene2d.ui 도움이 될 수 있다는 것을 발견했다,하지만 난 scene2d (배우, 단계 등) 꽤을 사용하지 않는 그것을 잘 알고 있습니다. 대신 나는 이런 식으로 뭔가를 화면의를 사용하고이 가능하다는 것을 (libgdx 작성) 게임 프로토 타입 국방부에서 볼

public class GameScreen implements Screen { 
... 
} 

I`ve합니다.

답변

1

안드로이드 프로젝트에서만 안드로이드 UI를 사용하십시오.

그들은 admob 광고를 위해 그것을 수행하는 방법이 an example이므로, 게임에 광고를 넣을 수 있습니다.

2

모든 Android 관련 코드가 Android 백엔드에 있어야합니다. 공통 프로젝트에서는 Android 관련 코드를 사용할 수 없습니다.

현재 모든 libGDX UI 요소는 OpenGL을 기반으로하는 사용자 정의 요소이므로 libGDX가 지원하는 모든 플랫폼에서 다소 일관성이 있습니다. Android UI 프리미티브를 감싸는 요소는 없습니다. 단추, 레이블 또는 목록과 같은 간단한 것들을 위해서, 이식성을 위해 libGDX UI 구성 요소를 사용하는 것이 좋습니다. 텍스트 입력이나 플랫폼과의 상호 작용 (예 : 공유 또는 무언가)과 같은 더 복잡한 요소의 경우 플랫폼 고유 코드를 호출하기위한 표준 "인터페이스 정의"방법을 사용할 수 있습니다.

특히 사용자가 이름을 입력 할 수있는 대화 상자를 팝업으로 표시한다고 가정 해보십시오. 정의

public interface PlatformUI { 
    public void showHighscoreNameEdit(); 
} 

Android 프로젝트에서 Android 프리미티브를 사용하는 클래스에서이 인터페이스를 구현하십시오. 그런 다음이 객체의 인스턴스를 공통 코드의 생성자로 전달합니다. 이제는 공통 코드가 Android 레이어에 "호출"할 수 있습니다. 안드로이드 초기화 코드에서이 같은

뭔가 : 플랫폼 코드에서이 같은

AndroidUI androidUI = new AndroidUI(...); 
initialize(new Game(androidUI)); 

그리고 뭔가 :

if (timeToShowEditBox) { 
    androidUI.showHighscoreNameEdit(); 
} 

으로 @android 개발자는 지적의 AdMobInLibgdx wiki page는 의도로이 문제를 다루고 이 경우 Android와 관련된 AdMob 라이브러리를 호출 할 수 있습니다.

관련 문제