2013-12-19 2 views
6

나는 LibGDX에서 게임을하고 있는데, 내 게임을 시작할 때 검은 화면이 내 게임의 흰색 화면이 그려지는 순간 잠시 나타납니다.안드로이드 용 Libgx는 메인 화면 전에 검은 색으로 표시됩니다.

내 앱의 style.xml에 내 앱 테마의 배경을 android:windowBackground과 다른 색으로 설정했으며 미리보기 창에 해당 색상이 표시됩니다. 그러나, 내 응용 프로그램의 메인 화면이로드되기 바로 전에 메인 화면을 표시하기 전에 화면이 잠시 검은 색으로 변합니다.

내 게임의 기본 활동 및 게임 클래스에서 Gdx.gl.glClearColor(1,1,1,1)을 설정했지만 기본 화면을 그릴 때까지 잠시 검은 색 화면이 계속 표시되었습니다.

이 문제를 해결할 수있는 유일한 방법은 android:windowDisablePreview을 true로 설정하는 것이지만 미리보기 창을 모두 비활성화합니다.

미리보기를 사용 중지하지 않으면 문제를 해결할 수있는 방법이 있습니까?

+0

앱이 실행되면 즉시 모든 애셋을로드하고 객체를 생성합니까? – SteveL

+0

@SteveL Screen을 확장하는 클래스의'show()'메소드에서 애셋을로드하고 객체를 생성합니다. 내 클래스의 생성자로 객체 생성을 이동하려고 시도했지만 도움이되지 않았습니다. 검은 색 화면이 일치하지 않지만 사용 가능한 메모리로 인해 발생할 가능성이 큽니다. – jjtcomkid

답변

2

개체 생성을 생성자로 이동하는 것 외에도 ActivityList의 생성자에서 ApplicationListener 개체 만들기를 이동해야합니다.

검은 화면은 Activity.onCreate() 호출 시작과 ApplicationListener.show() 호출 끝 사이의 시간 지연으로 인한 것일 수 있습니다.
타이머 또는 단순히 System.currentTimeMillis()를 사용하여 차이를 측정 해보십시오.

문제를 제거하지 않으면 상황을 개선해야합니다.

+0

그 작업을 시도했지만 응용 프로그램이 초기화 될 때까지 텍스처로드를 시작할 수 없습니다. Activity.onCreate() 메소드 끝과 ApplicationListener.create() 메소드 끝 사이에 약 800ms가 걸립니다. 텍스처 및 화면로드를 제거하면로드 시간이 절반으로 줄어들고 검은 색 화면이 사라집니다. 내가 뭘 잘못하고 있니? – jjtcomkid

+0

예. 표준 방법이 있습니다. 텍스처로드는 create 메소드에 있어서는 안됩니다. 진행률 표시 줄이있는 독립 실행 형로드 스크린 (게이머가 불평하지 않는 D)이 있어야합니다. 로딩 화면을 그리는 데 필요한 텍스처 만 시작시로드해야합니다. 따라서 검은 색 화면은 문제가되지 않습니다. 행운을 빕니다. –

관련 문제