Я пытаюсь добавить загрузочный экран в мое приложение, так как загрузка текстур занимает некоторое время. Это то, что я делал раньше ...
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
super.onSurfaceCreated(gl, config);
if(firstTimeCreate) {
load(); //load settings
Assets.LoadTextures(this);
firstTimeCreate = false;}
else {
//When screen is resumed....
Assets.reloadTextures();}
Таким образом, после возобновления приложения оператор else вступит в силу и перезагрузит все ... Я попытался адаптировать его к этому
else {
//When screen is resumed....
Thread aThread = new Thread()
{
public void run(){
boolean once = true;
while(once)
{
Assets.reloadTexutres();
once = false;
}
}
};
aThread.start();
}
Однако сейчас кажется, что OpenGL не может связать текстуры, поскольку экран белый. Что не так, добавив поток к этому методу? Нужно ли ждать загрузки всех текстур, прежде чем я позволю OpenGL начать попытки рендеринга, если да, то как я могу загрузить одну из них, а затем представить экран загрузки, пока все остальное не будет сделано?
Спасибо