2012-09-12 37 views
11

¿Es así como se carga correctamente una textura en un AssetManager?Cómo cargar texturas correctamente utilizando el assetManager libgdx

Texture tex; 
AssetManager manager = new AssetManager(); 
manager.load("menu/bg.png",Texture.class); 
tex = manager.get("menu/bg.png",Texture.class); 

La textura no se carga con el error "no se puede cargar el menú de textura/bg.png".

¿Cómo debemos cargar nuestra textura usando el AssetManager?

Respuesta

20

Así es como debe usarse el AssetManager, pero no del todo. Recomiendo leer en el wiki sobre el libgdx AssetManager.

Algunos puntos:
La variable debe estar en camelCase, por lo AssetManager gerente ... en lugar de AssetManager Gestor.

Deberá llamar al manager.update(); para hacer que cargue cosas. Deberá llamarse hasta manager.update(); devuelve verdadero, luego se termina de cargar. De modo que puede hacer que una pantalla de carga llame al manager.update(); en cada cuadro, y cuando devuelve verdadero cambia a otra pantalla.
Si solo quiere que todo se cargue y bloquee hasta que se cargue, llame al manager.finishLoading(); antes de intentar obtener algo del administrador.

Puede que tenga que crear una carpeta en la carpeta assets llamada data y poner sus activos allí en lugar de ponerlos directamente en la carpeta de activos. Así que ponga sus activos en mygame-android\assets\data en lugar de mygame-android\assets.

Si está utilizando gdx-setup-gui para crear su proyecto, debería estar bien. Pero si no, su proyecto de escritorio también necesitará saber dónde encontrar los activos.

Un ejemplo sobre cómo crear un animated, responsive loading screen with libgdx. (video)

+0

Estoy haciendo lo mismo que arriba, he visto su video pero en este punto solo quiero usar el administrador de activos solo para agregar un png o un jpg como fondo. Mi código es el mismo, pero he agregado finishedLoading. e intenté agregar eso al escenario, pero ese no es un actor, así que no puedo agregarlo al escenario. manager.load ("assets/data/badlogic.jpg", Texture.class); \t \t manager.finishLoading(); \t \t bg = manager.get ("assets/data/badlogic.jpg", Texture.class); \t \t stage.addActor (bg); – user629283

+0

nb: cualquier directorio debajo de los activos lo hará. – RichieHH

Cuestiones relacionadas