1
두 개의 3D Libgdx 프로젝트가 있습니다. SceneOne 및 SceneTwo으로 전화를 걸자. 두 개의 버튼, ButtonA와 ButtonB가있는 Android의 레이아웃이 있다고 가정 해 보겠습니다. 내가 ButtonBsceneTwo의가 나타나 에는 sceneOne를 대체 클릭하면 내가 클릭 ButtonA에는 sceneOne 레이아웃에서 볼 수 있습니다. 그들은 서로 바꾼다.Android의 Libgdx에서 동적으로보기 변경
View SceneOne;
View SceneTwo;
void onButtonAClick()
{
this.removeView(SceneTwo);
RendererA renderer = new Renderer(); // my Libgdx class implementing ApplicationListener
SceneOne = ((AndroidApplication)context).initializeForView(renderer, cfg);
addView(SceneOne);
}
void onButtonBClick()
{
this.removeView(SceneOne);
RendererB renderer = new Renderer();
SceneTwo = ((AndroidApplication)context).initializeForView(renderer, cfg);
addView(SceneTwo);
}
그것은 느린 있지만 작동 :
다음은 작동하지만 뷰 성능 저하를 초래 때마다 초기화 의사 코드입니다. 하지만 무슨 일이
View SceneOne;
View SceneTwo;
void onButtonAClick()
{
this.removeView(SceneTwo);
if (SceneOne == null)
{
RendererA renderer = new Renderer(); // my Libgdx class implementing ApplicationListener
SceneOne = ((AndroidApplication)context).initializeForView(renderer, cfg);
}
addView(SceneOne);
}
void onButtonBClick()
{
this.removeView(SceneOne);
if (SceneTwo == null)
{
RendererB renderer = new Renderer();
SceneTwo = ((AndroidApplication)context).initializeForView(renderer, cfg);
}
addView(SceneTwo);
}
처럼 게으른 초기화를 변경할 때 작동이 중지 것은 :
- 에는 sceneOne가 표시됩니다.
- 나는 그것을 sceneTwo의처럼하지만 일부 유물에 보이는, 내가 화면에
- 뭔가 이상한 쇼 ButtonA을 클릭
- 나타 ButtonB
- sceneTwo의을 클릭합니다.
- 동일한 아티팩트 장면을 화면에 그대로 전환하려고 할 때.
왜 이런 일이 발생하며 어떻게 수정해야합니까? 감사 !