java - Libgdx - Getting an error when using TexturePacker -


i new libgdx , have been following book 'learning libgdx game development, 2nd edition' learning, , let using android studio, problem though can create pack files in android asset folder somehow gdxruntimeexception error says asset not loaded. error log shown below:

    images     cloud02 (alias of cloud01)     cloud03 (alias of cloud01)     packing.........     writing 1024x1024: c:\users\raghab\androidstudioprojects\canyonbunnytest\android\assets\images\canyonbunny.pack.png     com.packtpub.libgdx.canyonbunny.game.assets: no of assets loader: 2     com.packtpub.libgdx.canyonbunny.game.assets: asset: c:/users/raghab/androidstudioprojects/canyonbunnytest/android/assets/images/canyonbunny.pack.png     com.packtpub.libgdx.canyonbunny.game.assets: asset: c:/users/raghab/androidstudioprojects/canyonbunnytest/android/assets/images/canyonbunny.pack.atlas     exception in thread "lwjgl application" com.badlogic.gdx.utils.gdxruntimeexception: asset not loaded: c:\users\raghab\androidstudioprojects\canyonbunnytest\android\assets\images\canyonbunny.pack.atlas         @ com.badlogic.gdx.assets.assetmanager.get(assetmanager.java:110)         @ com.packtpub.libgdx.canyonbunny.game.assets.init(assets.java:53)         @ com.packtpub.libgdx.canyonbunny.canyonbunnymain.create(canyonbunnymain.java:30)         @ com.badlogic.gdx.backends.lwjgl.lwjglapplication.mainloop(lwjglapplication.java:143)         @ com.badlogic.gdx.backends.lwjgl.lwjglapplication$1.run(lwjglapplication.java:120)      process finished exit code 0 

it seems though pack , image file created on asset folder exception on next line saying can't find it, paths absolute , doesn't seem problem, have pasted classes used.

desktop class:

package com.packtpub.libgdx.canyonbunny.desktop;  import com.badlogic.gdx.backends.lwjgl.lwjglapplication; import com.badlogic.gdx.backends.lwjgl.lwjglapplicationconfiguration; import com.badlogic.gdx.tools.texturepacker.texturepacker; import com.packtpub.libgdx.canyonbunny.canyonbunnymain;  public class desktoplauncher {      private static boolean rebuildatlas = true;     private static boolean drawdebugoutline = true;      public static void main (string[] arg) {         if (rebuildatlas) {             texturepacker.settings settings = new texturepacker.settings();             settings.maxwidth = 1024;             settings.maxheight = 1024;             settings.duplicatepadding = false;             settings.debug = drawdebugoutline;              texturepacker.process(settings, "c:\\users\\raghab\\androidstudioprojects\\canyonbunnytest\\desktop\\assets-raw\\images", "c:\\users\\raghab\\androidstudioprojects\\canyonbunnytest\\android\\assets\\images", "canyonbunny.pack");          }         lwjglapplicationconfiguration config = new lwjglapplicationconfiguration();         config.title = "canyonbunny";         config.usegl30 = false;         config.width = 800;         config.height = 480;          new lwjglapplication(new canyonbunnymain(), config);     } } 

assets class:

package com.packtpub.libgdx.canyonbunny.game;  import com.badlogic.gdx.gdx; import com.badlogic.gdx.assets.assetdescriptor; import com.badlogic.gdx.assets.asseterrorlistener; import com.badlogic.gdx.assets.assetmanager; import com.badlogic.gdx.graphics.texture; import com.badlogic.gdx.graphics.g2d.textureatlas; import com.badlogic.gdx.utils.disposable; import com.packtpub.libgdx.canyonbunny.util.constants;  public class assets implements disposable, asseterrorlistener {      public static final string tag = assets.class.getname();      public static final assets instance = new assets();      private assetmanager assetmanager;      private assets() {      }      public assetbunny bunny;     public assetrock rock;     public assetgoldcoin goldcoin;     public assetfeather feather;     public assetleveldecoration leveldecoration;       public void init(assetmanager assetmanager) {         this.assetmanager = assetmanager;         assetmanager.seterrorlistener(this);          assetmanager.load(constants.texture_atlas_objects, textureatlas.class);         assetmanager.finishloading();          gdx.app.debug(tag, "no of assets loader: " + assetmanager.getassetnames().size);         (string : assetmanager.getassetnames()) {             gdx.app.debug((tag), "asset: " + a);;         }          textureatlas atlas = assetmanager.get(constants.texture_atlas_objects);         (texture t : atlas.gettextures()) {             t.setfilter(texture.texturefilter.linear, texture.texturefilter.linear);         }          bunny = new assetbunny(atlas);         rock = new assetrock(atlas);         goldcoin = new assetgoldcoin(atlas);         feather = new assetfeather(atlas);         leveldecoration = new assetleveldecoration(atlas);      }       @override     public void dispose() {         assetmanager.dispose();      }     @override     public void error(assetdescriptor asset, throwable throwable) {         gdx.app.error((tag), "couldn't load asset '" + asset.filename + "'", (exception) throwable);;     }      public class assetbunny {         public final textureatlas.atlasregion head;           public assetbunny(textureatlas atlas) {             head = atlas.findregion("bunny_head");          }     }      public class assetrock {         public final textureatlas.atlasregion edge;         public final textureatlas.atlasregion middle;          public assetrock(textureatlas atlas) {             edge = atlas.findregion("rock_edge");             middle = atlas.findregion("rock_middle");         }     }      public class assetgoldcoin {         public final textureatlas.atlasregion goldcoin;          public assetgoldcoin(textureatlas atlas) {             goldcoin = atlas.findregion("item_gold_coin");         }     }      public class assetfeather {         public final textureatlas.atlasregion feather;          public assetfeather(textureatlas atlas) {             feather = atlas.findregion("item_feather");         }     }     public class assetleveldecoration {         public final textureatlas.atlasregion cloud01;         public final textureatlas.atlasregion cloud02;         public final textureatlas.atlasregion cloud03;         public final textureatlas.atlasregion mountainleft;         public final textureatlas.atlasregion mountainright;         public final textureatlas.atlasregion wateroverlay;          public assetleveldecoration(textureatlas atlas) {             cloud01 = atlas.findregion("cloud01");             cloud02 = atlas.findregion("cloud02");             cloud03 = atlas.findregion("cloud03");             mountainleft = atlas.findregion("mountain_left");             mountainright = atlas.findregion("mountain_right");             wateroverlay = atlas.findregion("water_overlay");         }     }  } 

constant class:

package com.packtpub.libgdx.canyonbunny.util;  public class constants {     public static final float viewport_width = 5.0f;      public static final float viewport_height = 5.0f;      public static final string texture_atlas_objects =             "c:\\users\\raghab\\androidstudioprojects\\canyonbunnytest\\android\\assets\\images\\canyonbunny.pack.atlas"; } 

sorry all..it's android studio that's not treating path correctly. use forward slash instead of slash when defining paths..took me day figure out.


Comments

Popular posts from this blog

routing - AngularJS State management ->load multiple states in one page -

python - GRASS parser() error -

Swift game error message -