AndEngine:在AssetBitmapTextureAtlasSource中加载Bitmap失败。 AssetPath:gfx / splash.png

时间:2015-05-26 14:41:27

标签: java android andengine game-engine

我是Android游戏和AndEngine的新手,所以我已经安装了AndEngine的项目。 https://github.com/vimvim/AndEngine-AndroidStudio。我分叉了这个项目,删除了Examples模块,并创建了我自己的文件,并将其活动设置为Launcher活动,我可以从AndEngine中找到所有类,但是当我运行项目时,我找不到splash.png文件。 我的加载代码如下:

  BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");
    splashTextureAtlas = new   BitmapTextureAtlas(activity.getTextureManager(), 256, 256, TextureOptions.BILINEAR);
    splash_region =  BitmapTextureAtlasTextureRegionFactory.createFromAsset(splashTextureAtlas, activity, "splash.png", 0, 0);
    splashTextureAtlas.load();

它运行良好,直到我找不到splash.png文件。

我在项目中的结构是:

 -myapplication 
   -build
   -libs
   -src
      -main
         -assets
            -gfx
               -splash.png
         -java
         -res
         -AndroidManifest.xml

我的例外:

4642-4663/kristian.niclas.matti.myapp E/AndEngine﹕ Failed loading Bitmap in AssetBitmapTextureAtlasSource. AssetPath: gfx/splash.png
java.io.FileNotFoundException: gfx/splash.png
        at android.content.res.AssetManager.openAsset(Native Method)
        at android.content.res.AssetManager.open(AssetManager.java:313)
        at android.content.res.AssetManager.open(AssetManager.java:287)
        at org.andengine.opengl.texture.atlas.bitmap.source.AssetBitmapTextureAtlasSource.create(AssetBitmapTextureAtlasSource.java:52)
        at org.andengine.opengl.texture.atlas.bitmap.source.AssetBitmapTextureAtlasSource.create(AssetBitmapTextureAtlasSource.java:43)
        at org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlasTextureRegionFactory.createFromAsset(BitmapTextureAtlasTextureRegionFactory.java:86)
        at org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlasTextureRegionFactory.createFromAsset(BitmapTextureAtlasTextureRegionFactory.java:82)
        at kristian.niclas.matti.myapp.ResourcesManager.loadSplashScreen(ResourcesManager.java:161)
        at kristian.niclas.matti.myapp.SceneManager.createSplashScene(SceneManager.java:79)
        at kristian.niclas.matti.myapp.GameActivity.onCreateScene(GameActivity.java:57)
        at org.andengine.ui.activity.BaseGameActivity$3.onCreateResourcesFinished(BaseGameActivity.java:171)
        at kristian.niclas.matti.myapp.GameActivity.onCreateResources(GameActivity.java:40)
        at org.andengine.ui.activity.BaseGameActivity.onCreateGame(BaseGameActivity.java:183)
        at org.andengine.ui.activity.BaseGameActivity.onSurfaceCreated(BaseGameActivity.java:112)
        at org.andengine.opengl.view.EngineRenderer.onSurfaceCreated(EngineRenderer.java:80)
        at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1500)
        at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1239)

我已经有几个小时的这个问题了:)所以任何帮助都会大大帮助。

解决方案:

1.删除你的项目。 2.在链接下载代码:http://themakeinfo.com/2015/03/andengine-template-for-android-studio-2/

3.unzip +导入项目。

  1. 制作一些代码然后运行:)

1 个答案:

答案 0 :(得分:0)

尝试将你的splash.png从' gfx'文件夹并且不设置基本路径。所以只需从' assest'中加载splash.png。文件夹中。

如果这不起作用,我会将另一张图片放入资源文件夹,任何随机图像,名为image.png,然后尝试打开它。

如果这不起作用,那么将项目设置为“资产”一定有问题。目录未找到。你在用eclipse吗?您的结构看起来像资产'文件夹位于' src'文件夹,不应该是这样的,资产'文件夹应与' src'处于同一级别文件夹不在任何其他目录中。当然,如果你不使用eclipse,也许不同的IDE有不同的结构,但我似乎仍然不对。