LibGDX不能访问内部图像资源 [英] LibGDX can't access internal image resources

查看:123
本文介绍了LibGDX不能访问内部图像资源的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我清楚地存储在我的background.png下的android资产的文件夹。
我也查了,这是没有在Finder中。

我与Android工作室工作。

然而,当试图访问该图像

 公共背景(){
    textureRegion =新TextureRegion(新纹理(background.png));
    textureRegionBounds1 =新的Rectangle(0 - Constants.APP_WIDTH / 2,0,Constants.APP_WIDTH,Constants.APP_HEIGHT);
    textureRegionBounds2 =新的Rectangle(Constants.APP_WIDTH / 2,0,Constants.APP_WIDTH,Constants.APP_HEIGHT);
}

我得到这个错误:

 异常螺纹LWJGL应用com.badlogic.gdx.utils.GdxRuntimeException:无法加载文件:background.png
在com.badlogic.gdx.graphics.Pixmap<&初始化GT;(Pixmap.java:140)
在com.badlogic.gdx.graphics.TextureData $ Factory.loadFromFile(TextureData.java:98)
在com.badlogic.gdx.graphics.GLTexture.createTextureData(GLTexture.java:185)
在com.badlogic.gdx.graphics.Texture<&初始化GT;(Texture.java:103)
在com.badlogic.gdx.graphics.Texture<&初始化GT;(Texture.java:95)
在com.badlogic.gdx.graphics.Texture<&初始化GT;(Texture.java:91)
在com.com.waylonhuang.game.actors.Background<&初始化GT;(Background.java:21)
在com.com.waylonhuang.game.stages.GameStage.setUpBackground(GameStage.java:66)
在com.com.waylonhuang.game.stages.GameStage.setUpWorld(GameStage.java:59)
在com.com.waylonhuang.game.stages.GameStage<&初始化GT;(GameStage.java:51)
在com.mygdx.game.GameScreen<&初始化GT;(GameScreen.java:16)
在com.mygdx.game.DrifterGame.create(DrifterGame.java:11)
在com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:137)
在com.badlogic.gdx.backends.lwjgl.LwjglApplication $ 1.run(LwjglApplication.java:114)
com.badlogic.gdx.utils.GdxRuntimeException:引起未找到文件:background.png(内部)
    在com.badlogic.gdx.files.FileHandle.read(FileHandle.java:136)
    在com.badlogic.gdx.files.FileHandle.readBytes(FileHandle.java:222)
    在com.badlogic.gdx.graphics.Pixmap<&初始化GT;(Pixmap.java:137)
    ... 13更多......

我是什么失踪?

修改
此外,我目前的桌面启动器的工作目录路径是:AndroidStudioProjects / libGDXGame

然而,在将其更改为:AndroidStudioProjects / libGDXGame /安卓/资产

我得到一个新的错误像这样的:

 异常螺纹LWJGL应用程序显示java.lang.NullPointerException
在com.com.waylonhuang.game.stages.GameStage.draw(GameStage.java:134)
在com.mygdx.game.GameScreen.render(GameScreen.java:25)
在com.badlogic.gdx.Game.render(Game.java:46)
在com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:208)
在com.badlogic.gdx.backends.lwjgl.LwjglApplication $ 1.run(LwjglApplication.java:114)


解决方案

尝试使用这样的:

  textureRegion =新TextureRegion(新纹理(
                Gdx.files.internal(background.png)));

如果它不工作,审核,区分大小写,文件名的。

编辑:看就是文件的副本,而不是一个链接,有一次他偶然有人这么错

I clearly stored my "background.png" in the assets folder under android. I also checked that it was there in Finder.

I am working with Android Studio.

However, upon trying to access the image:

public Background() {
    textureRegion = new TextureRegion(new Texture("background.png"));
    textureRegionBounds1 = new Rectangle(0 - Constants.APP_WIDTH / 2, 0, Constants.APP_WIDTH, Constants.APP_HEIGHT);
    textureRegionBounds2 = new Rectangle(Constants.APP_WIDTH / 2, 0, Constants.APP_WIDTH, Constants.APP_HEIGHT);
}

I get this error:

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: background.png
at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:140)
at com.badlogic.gdx.graphics.TextureData$Factory.loadFromFile(TextureData.java:98)
at com.badlogic.gdx.graphics.GLTexture.createTextureData(GLTexture.java:185)
at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:103)
at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:95)
at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:91)
at com.com.waylonhuang.game.actors.Background.<init>(Background.java:21)
at com.com.waylonhuang.game.stages.GameStage.setUpBackground(GameStage.java:66)
at com.com.waylonhuang.game.stages.GameStage.setUpWorld(GameStage.java:59)
at com.com.waylonhuang.game.stages.GameStage.<init>(GameStage.java:51)
at com.mygdx.game.GameScreen.<init>(GameScreen.java:16)
at com.mygdx.game.DrifterGame.create(DrifterGame.java:11)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:137)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114)
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: File not found: background.png (Internal)
    at com.badlogic.gdx.files.FileHandle.read(FileHandle.java:136)
    at com.badlogic.gdx.files.FileHandle.readBytes(FileHandle.java:222)
    at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:137)
    ... 13 more......

What am I missing?

EDIT Also, my current path for the Desktop launcher for the Working Directory is : AndroidStudioProjects/libGDXGame

However, upon changing it to: AndroidStudioProjects/libGDXGame/android/assets

I get a new error like such:

Exception in thread "LWJGL Application" java.lang.NullPointerException
at com.com.waylonhuang.game.stages.GameStage.draw(GameStage.java:134)
at com.mygdx.game.GameScreen.render(GameScreen.java:25)
at com.badlogic.gdx.Game.render(Game.java:46)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:208)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114)

解决方案

try using this:

textureRegion = new TextureRegion(new Texture(
                Gdx.files.internal("background.png")));

if it does not work review, case sensitive, of the file name.

Edit: look that is a copy of the file, not a link, once he happened to someone so wrong

这篇关于LibGDX不能访问内部图像资源的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆