有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java LibGDX TextureRegion NullPointerException

我已经开始使用Lib-GDX AssetManager而不是“普通”方式来导入纹理。然而,在进行实验时,我很快遇到了一个NullPointerException错误。以下是代码:

    assets = Generals.getAssetManager();
    assets.load("Characters/c.pack", TextureAtlas.class);
    assets.finishLoading();
    TextureAtlas atlas = assets.get("Characters/c.pack", TextureAtlas.class);
    atlas.findRegion("PriestOverworld3");
    Array<TextureRegion> frames = new Array<TextureRegion>();
    Texture testtex = new Texture("Characters/c.png");
    TextureRegion test = new TextureRegion(testtex);
    for (int i = 0; i < 3; i++) {
        System.out.println(i);
        frames.add(new TextureRegion(getTexture(), i * 16, 0, 16, 16));
    }
    playerStasis = new Animation<>(0.2f, frames);

我在线路上得到了一个NullPointerException

frames.add(new TextureRegion(getTexture(), i * 16, 0, 16, 16));

错误是:

Exception in thread "LWJGL Application" java.lang.NullPointerException
    at com.badlogic.gdx.graphics.g2d.TextureRegion.setRegion(TextureRegion.java:82)
    at com.badlogic.gdx.graphics.g2d.TextureRegion.<init>(TextureRegion.java:53)
    at Project.sprites.Player.<init>(Player.java:55)

纹理区域:

// TextureRegion.java:53
setRegion(x, y, width, height);
...
// TextureRegion.java:82
float invTexWidth = 1f / texture.getWidth();

共 (0) 个答案