Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java AndEngine加载图形:我应该把我的资产文件夹和资源放在哪里?_Java_Android_Oop_Bitmap_Android Studio - Fatal编程技术网

Java AndEngine加载图形:我应该把我的资产文件夹和资源放在哪里?

Java AndEngine加载图形:我应该把我的资产文件夹和资源放在哪里?,java,android,oop,bitmap,android-studio,Java,Android,Oop,Bitmap,Android Studio,在使用androidstudio创建游戏时,我将我的资产文件夹放在项目的根级别。我还在下面创建了一个名为gfx的文件夹,并将我的splash.png放在那里 当我调用启动屏幕时: public void loadSplashScreen() { BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/"); splashTextureAtlas = new BitmapTextureAtlas(activity.

在使用androidstudio创建游戏时,我将我的资产文件夹放在项目的根级别。我还在下面创建了一个名为gfx的文件夹,并将我的splash.png放在那里

当我调用启动屏幕时:

 public void loadSplashScreen()
{
    BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");
    splashTextureAtlas = new BitmapTextureAtlas(activity.getTextureManager(), 390, 534, TextureOptions.BILINEAR);
    splash_region = BitmapTextureAtlasTextureRegionFactory.createFromAsset(splashTextureAtlas, activity, "splash.png", 0, 0);
    splashTextureAtlas.load();
}
这就是产生的错误

我把东西放错地方了吗?资产应该在哪里

     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:316)
            at android.content.res.AssetManager.open(AssetManager.java:290)
            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 com.waylonhuang.game.ResourcesManager.loadSplashScreen(ResourcesManager.java:68)
            at com.waylonhuang.game.SceneManager.createSplashScene(SceneManager.java:93)
            at com.waylonhuang.game.GameActivity.onCreateScene(GameActivity.java:62)
            at org.andengine.ui.activity.BaseGameActivity$3.onCreateResourcesFinished(BaseGameActivity.java:171)
            at com.waylonhuang.game.GameActivity.onCreateResources(GameActivity.java:45)
            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:1501)
            at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
01-17 16:48:21.329  30718-30749/com.waylonhuang.game 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:316)
            at android.content.res.AssetManager.open(AssetManager.java:290)
            at org.andengine.opengl.texture.atlas.bitmap.source.AssetBitmapTextureAtlasSource.onLoadBitmap(AssetBitmapTextureAtlasSource.java:101)
            at org.andengine.opengl.texture.atlas.bitmap.source.AssetBitmapTextureAtlasSource.onLoadBitmap(AssetBitmapTextureAtlasSource.java:85)
            at org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlas.writeTextureToHardware(BitmapTextureAtlas.java:154)
            at org.andengine.opengl.texture.Texture.loadToHardware(Texture.java:145)
            at org.andengine.opengl.texture.TextureManager.updateTextures(TextureManager.java:268)
            at org.andengine.engine.Engine.onDrawFrame(Engine.java:633)
            at org.andengine.opengl.view.EngineRenderer.onDrawFrame(EngineRenderer.java:105)
            at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1523)
            at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
01-17 16:48:21.348  30718-30749/com.waylonhuang.game W/dalvikvm﹕ threadid=15: thread exiting with uncaught exception (group=0x41717d40)
01-17 16:48:21.349  30718-30749/com.waylonhuang.game E/AndroidRuntime﹕ FATAL EXCEPTION: GLThread 6799
    Process: com.waylonhuang.game, PID: 30718
    org.andengine.util.exception.NullBitmapException: Caused by: class org.andengine.opengl.texture.atlas.bitmap.source.AssetBitmapTextureAtlasSource --> AssetBitmapTextureAtlasSource(gfx/splash.png) returned a null Bitmap.
            at org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlas.writeTextureToHardware(BitmapTextureAtlas.java:156)
            at org.andengine.opengl.texture.Texture.loadToHardware(Texture.java:145)
            at org.andengine.opengl.texture.TextureManager.updateTextures(TextureManager.java:268)
            at org.andengine.engine.Engine.onDrawFrame(Engine.java:633)
            at org.andengine.opengl.view.EngineRenderer.onDrawFrame(EngineRenderer.java:105)
            at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1523)
            at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
01-17 16:48:23.282  30718-30749/com.waylonhuang.game I/Process﹕ Sending signal. PID: 30718 SIG: 9
01-17 16:59:01.645    2098-2098/com.waylonhuang.game D/dalvikvm﹕ Late-enabling CheckJNI
01-17 16:59:02.020    2098-2098/com.waylonhuang.game I/Adreno-EGL﹕ <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_LNX.LA.3.5.1_RB1.04.04.02.048.018_msm8226_LNX.LA.3.5.1_RB1__release_AU ()
    OpenGL ES Shader Compiler Version: E031.24.00.08
    Build Date: 03/07/14 Fri
    Local Branch:
    Remote Branch: quic/LNX.LA.3.5.1_RB1.1
    Local Patches: NONE
    Reconstruct Branch: AU_LINUX_ANDROID_LNX.LA.3.5.1_RB1.04.04.02.048.018 + f2fd134 +  NOTHING
01-17 16:59:02.052    2098-2098/com.waylonhuang.game D/OpenGLRenderer﹕ Enabling debug mode 0
01-17 16:59:02.087    2098-2119/com.waylonhuang.game 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:316)
            at android.content.res.AssetManager.open(AssetManager.java:290)
            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 com.waylonhuang.game.ResourcesManager.loadSplashScreen(ResourcesManager.java:68)
            at com.waylonhuang.game.SceneManager.createSplashScene(SceneManager.java:93)
            at com.waylonhuang.game.GameActivity.onCreateScene(GameActivity.java:62)
            at org.andengine.ui.activity.BaseGameActivity$3.onCreateResourcesFinished(BaseGameActivity.java:171)
            at com.waylonhuang.game.GameActivity.onCreateResources(GameActivity.java:45)
            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:1501)
            at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
01-17 16:59:02.106    2098-2119/com.waylonhuang.game 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:316)
            at android.content.res.AssetManager.open(AssetManager.java:290)
            at org.andengine.opengl.texture.atlas.bitmap.source.AssetBitmapTextureAtlasSource.onLoadBitmap(AssetBitmapTextureAtlasSource.java:101)
            at org.andengine.opengl.texture.atlas.bitmap.source.AssetBitmapTextureAtlasSource.onLoadBitmap(AssetBitmapTextureAtlasSource.java:85)
            at org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlas.writeTextureToHardware(BitmapTextureAtlas.java:154)
            at org.andengine.opengl.texture.Texture.loadToHardware(Texture.java:145)
            at org.andengine.opengl.texture.TextureManager.updateTextures(TextureManager.java:268)
            at org.andengine.engine.Engine.onDrawFrame(Engine.java:633)
            at org.andengine.opengl.view.EngineRenderer.onDrawFrame(EngineRenderer.java:105)
            at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1523)
            at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
01-17 16:59:02.110    2098-2119/com.waylonhuang.game W/dalvikvm﹕ threadid=15: thread exiting with uncaught exception (group=0x41717d40)
01-17 16:59:02.111    2098-2119/com.waylonhuang.game E/AndroidRuntime﹕ FATAL EXCEPTION: GLThread 7084
    Process: com.waylonhuang.game, PID: 2098
    org.andengine.util.exception.NullBitmapException: Caused by: class org.andengine.opengl.texture.atlas.bitmap.source.AssetBitmapTextureAtlasSource --> AssetBitmapTextureAtlasSource(gfx/splash.png) returned a null Bitmap.
            at org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlas.writeTextureToHardware(BitmapTextureAtlas.java:156)
            at org.andengine.opengl.texture.Texture.loadToHardware(Texture.java:145)
            at org.andengine.opengl.texture.TextureManager.updateTextures(TextureManager.java:268)
            at org.andengine.engine.Engine.onDrawFrame(Engine.java:633)
            at org.andengine.opengl.view.EngineRenderer.onDrawFrame(EngineRenderer.java:105)
            at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1523)
            at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
E/AndEngine﹕ 在AssetBitmapTextureAtlasSource中加载位图失败。资产路径:gfx/splash.png
java.io.FileNotFoundException:gfx/splash.png
位于android.content.res.AssetManager.openAsset(本机方法)
位于android.content.res.AssetManager.open(AssetManager.java:316)
位于android.content.res.AssetManager.open(AssetManager.java:290)
位于org.andengine.opengl.texture.atlas.bitmap.source.AssetBitmapTextureAtlasSource.create(AssetBitmapTextureAtlasSource.java:52)
位于org.andengine.opengl.texture.atlas.bitmap.source.AssetBitmapTextureAtlasSource.create(AssetBitmapTextureAtlasSource.java:43)
位于org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlasTextureRegionFactory.createFromAsset(BitmapTextureAtlasTextureRegionFactory.java:86)
位于org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlasTextureRegionFactory.createFromAsset(BitmapTextureAtlasTextureRegionFactory.java:82)
在com.waylonhuang.game.ResourcesManager.loadSplashScreen上(ResourcesManager.java:68)
位于com.waylonhuang.game.SceneManager.createsplashsecene(SceneManager.java:93)
位于com.waylonhuang.game.GameActivity.onCreateSecene(GameActivity.java:62)
位于org.andengine.ui.activity.BaseGameActivity$3.onCreateResourcesFinished(BaseGameActivity.java:171)
位于com.waylonhuang.game.GameActivity.onCreateResources(GameActivity.java:45)
位于org.andengine.ui.activity.BaseGameActivity.onCreateGame(BaseGameActivity.java:183)
在org.andengine.ui.activity.BaseGameActivity.onSurfaceCreated上(BaseGameActivity.java:112)
在org.andengine.opengl.view.EngineRenderer.onSurfaceCreated上(EngineRenderer.java:80)
在android.opengl.GLSurfaceView$GLThread.guarderun(GLSurfaceView.java:1501)
位于android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
01-17 16:48:21.329 30718-30749/com.waylonhuang.game E/AndEngine﹕ 在AssetBitmapTextureAtlasSource中加载位图失败。资产路径:gfx/splash.png
java.io.FileNotFoundException:gfx/splash.png
位于android.content.res.AssetManager.openAsset(本机方法)
位于android.content.res.AssetManager.open(AssetManager.java:316)
位于android.content.res.AssetManager.open(AssetManager.java:290)
位于org.andengine.opengl.texture.atlas.bitmap.source.AssetBitmapTextureAtlasSource.onLoadBitmap(AssetBitmapTextureAtlasSource.java:101)
位于org.andengine.opengl.texture.atlas.bitmap.source.AssetBitmapTextureAtlasSource.onLoadBitmap(AssetBitmapTextureAtlasSource.java:85)
位于org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlas.writeTextureToHardware(BitmapTextureAtlas.java:154)
位于org.andengine.opengl.texture.texture.loadToHardware(texture.java:145)
位于org.andengine.opengl.texture.TextureManager.updateTextures(TextureManager.java:268)
位于org.andengine.engine.engine.onDrawFrame(engine.java:633)
位于org.andengine.opengl.view.EngineRenderer.onDrawFrame(EngineRenderer.java:105)
位于android.opengl.GLSurfaceView$GLThread.guarderun(GLSurfaceView.java:1523)
位于android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
01-17 16:48:21.348 30718-30749/com.waylonhuang.game W/dalvikvm﹕ threadid=15:线程退出时出现未捕获异常(组=0x41717d40)
01-17 16:48:21.349 30718-30749/com.waylonhuang.game E/AndroidRuntime﹕ 致命异常:GLThread 6799
进程:com.waylonhuang.game,PID:30718
org.andengine.util.exception.NullBitmapException:原因:类org.andengine.opengl.texture.atlas.bitmap.source.AssetBitmapTextureAtlasSource-->AssetBitmapTextureAtlasSource(gfx/splash.png)返回空位图。
位于org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlas.writeTextureToHardware(BitmapTextureAtlas.java:156)
位于org.andengine.opengl.texture.texture.loadToHardware(texture.java:145)
位于org.andengine.opengl.texture.TextureManager.updateTextures(TextureManager.java:268)
位于org.andengine.engine.engine.onDrawFrame(engine.java:633)
位于org.andengine.opengl.view.EngineRenderer.onDrawFrame(EngineRenderer.java:105)
位于android.opengl.GLSurfaceView$GLThread.guarderun(GLSurfaceView.java:1523)
位于android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
01-17 16:48:23.282 30718-30749/com.waylonhuang.game I/Process﹕ 发送信号。PID:30718信号:9
01-17 16:59:01.645 2098-2098/com.waylonhuang.game D/dalvikvm﹕ 延迟启用CheckJNI
01-17 16:59:02.020 2098-2098/com.waylonhuang.game I/Adreno EGL﹕ : EGL 1.4高通公司构建:AU_LINUX_ANDROID_LNX.LA.3.5.1_RB1.04.04.02.048.018_msm8226_LNX.LA.3.5.1_RB1_release_AU()
OpenGL ES着色器编译器版本:E031.24.00.08
建造日期:2014年7月3日星期五
本地分行:
远程分支机构:quic/LNX.LA.3.5.1_RB1.1
本地修补程序:无
重构分支:AU_LINUX_ANDROID_LNX.LA.3.5.1_RB1.04.04.02.048.018+f2fd134+NOTHING
01-17 16:59:02.052 2098-2098/com.waylonhuang.game D/opengl﹕ 正在启用调试模式0
01-17 16:59:02.087 2098-2119/com.waylonhuang.game E/AndEngine﹕ 在AssetBitmapTextureAtlasSource中加载位图失败。资产路径:gfx/splash.png
java.io.FileNotFoundException:gfx/splash.png
位于android.content.res.AssetManager.openAsset(本机方法)
位于android.content.res.AssetManager.open(AssetManager.java:316)
位于android.content.res.AssetManager.o
public void loadSplashResources() {
    BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/splash/");
    mSplashTextureAtlas = new BitmapTextureAtlas(mActivity.getTextureManager(), 480, 800, TextureOptions.BILINEAR);
    mSplashTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(mSplashTextureAtlas, mActivity, "splash.png", 0, 0);
    mSplashTextureAtlas.load();
    mFont1 = FontFactory.create(mActivity.getFontManager(), mActivity.getTextureManager(), 256, 256, Typeface.create(Typeface.DEFAULT, Typeface.NORMAL), 10, Color.GRAY);
    mFont1.load();
}
public void unloadSplashResources() {
    mSplashTextureAtlas.unload();
    mSplashTextureRegion = null;
    mFont1.unload();
    mFont1 = null;
}
@Override
protected void onCreateResources() {

    mResourceManager = ResourceManager.getInstance();
    mResourceManager.prepare(this);
    mResourceManager.loadSplashResources();
    mSceneManager = SceneManager.getInstance();

}
@Override
protected Scene onCreateScene() {
    mEngine.registerUpdateHandler(new TimerHandler(2f, new ITimerCallback() {
        public void onTimePassed(final TimerHandler pTimerHandler) {
            mEngine.unregisterUpdateHandler(pTimerHandler);
            mResourceManager.loadGameResources();
            mSceneManager.setScene(SceneType.SCENE_MENU);
            mResourceManager.unloadSplashResources();
        }
    }));