java - libgdx AssetManager.finishLoading() not working -


i've tried implement assetmanager project. can't figure out i'm doing wrong assetmanager. i've googled, , tried different things. seems no 1 else have ever experienced kind of problem assetmanager. used .finisloading(), afterwards if ask .isloaded says hasn't been loaded.

the wiki tutorial here says

manager.load("data/mytexture.png", texture.class);

....

manager.finishloading();

...

texture tex = manager.get("data/mytexture.png", texture.class);

i have code

// fullfile e.g. "d:\\folder\\subfolder\\subsubfolder\\jpg.jpg"  if (!new filehandle(fullfile).exists()) {     system.err.printf("invalid file \"%s\"\n",fullfile);     system.exit(1); }  if (!manager.isloaded(fullfile,texture.class)) manager.load(fullfile,texture.class); manager.finishloading();  if (!manager.isloaded(fullfile,texture.class)) {     return = new sprite(new texture("d:\\folder\\subfolder\\subsubfolder\\placeholder.jpg")); } else {     return new sprite(manager.get(fullfile,texture.class)); } 

the manger assetmanager manager = new assetmanager(new filehandleresolver() { @override public filehandle resolve(string fullfile ) { filehandle fh = new filehandle(fullfile); if (!fh.exists()) { system.err.printf("invalid file \"%s\"\n",fh.path()); system.exit(1); } return fh; }

what i've tried far

run project created gdx-setup.jar -> couldn't load file: badlogic.jpg

code from: juan javier cassani

public static void test() { absolutefilehandleresolver filehandleresolver = new absolutefilehandleresolver(); assetmanager manager = new assetmanager(filehandleresolver); //this anywhere else string filename = "d:\\blablabla\\my_project\\core\\assets\\badlogic.jpg";  if (!new filehandle(filename).exists()) {     gdx.app.error("blub", "invalid file '" + filename + "'");     gdx.app.exit(); }  if (!manager.isloaded(filename, texture.class))     manager.load(filename, texture.class);  manager.finishloading();  if (manager.isloaded(filename, texture.class))     gdx.app.log("blub", "texture loaded!"); else     gdx.app.log("blub", "texture not loaded!"); } 

-> blub: texture not loaded!

versions:  java version "1.8.0_25" java(tm) se runtime environment (build 1.8.0_25-b18) java hotspot(tm) 64-bit server vm (build 25.25-b02, mixed mode)  ashley-1.3.1.jar box2dlights-1.3.jar gdx-1.4.1.jar gdx-ai-1.4.0.jar gdx-backend-lwjgl-1.4.1.jar gdx-box2d-1.4.1.jar gdx-box2d-platform-1.4.1-natives-desktop.jar gdx-bullet-1.4.1.jar gdx-bullet-platform-1.4.1-natives-desktop.jar gdx-controllers-1.4.1.jar gdx-controllers-desktop-1.4.1.jar gdx-controllers-platform-1.4.1-natives-desktop.jar gdx-freetype-1.4.1.jar gdx-freetype-platform-1.4.1-natives-desktop.jar gdx-platform-1.4.1-natives-desktop.jar gdx-tools-1.4.1.jar jinput-2.0.5.jar jinput-platform-2.0.5-natives-linux.jar jinput-platform-2.0.5-natives-osx.jar jinput-platform-2.0.5-natives-windows.jar jlayer-1.0.1-gdx.jar jorbis-0.0.17.jar jutils-1.0.0.jar lwjgl-2.9.1.jar lwjgl-platform-2.9.1-natives-linux.jar lwjgl-platform-2.9.1-natives-osx.jar lwjgl-platform-2.9.1-natives-windows.jar lwjgl_util-2.9.1.jar 

i assume using absolute (full) file paths (because in provided code commented), assetmanager expects internals (you creating using default constructor, not specifying filehandleresolver). tried code using

string filename = "texture.jpg"; 

and putting texture.jpg file in /project/android/assets/ , works fine. put internal assets in folder, change file path internal , should work.

edit:

i think using absolute paths not idea, since not backends accept it, , if deploy desktop, makes non sense have assets in location outside jar is. anyway, code works me, absolute paths:

      absolutefilehandleresolver filehandleresolver = new absolutefilehandleresolver();       assetmanager manager = new assetmanager(filehandleresolver);       //this anywhere else       string filename = "/home/javier/texture.jpg";        if (!new filehandle(filename).exists()) {             gdx.app.error(tag, "invalid file '" + filename + "'");             gdx.app.exit();       }        if (!manager.isloaded(filename, texture.class))             manager.load(filename, texture.class);        manager.finishloading();        if (manager.isloaded(filename, texture.class))             gdx.app.log(tag, "texture loaded!");       else             gdx.app.log(tag, "texture not loaded!"); 

Comments

Popular posts from this blog

python - mat is not a numerical tuple : openCV error -

c# - MSAA finds controls UI Automation doesn't -

wordpress - .htaccess: RewriteRule: bad flag delimiters -