-1
「通常の」方法の代わりにLib GDX AssetManagerを使用して、テクスチャをインポートしました。しかし、それを試してみると、すぐにNullPointerExceptionエラーが発生しました。ここでは、コードは次のようになります。LibGDX TextureRegion 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);
私はライン
frames.add(new TextureRegion(getTexture(), i * 16, 0, 16, 16));
エラーでNullPointerExceptionが取得:
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:
// TextureRegion.java:53
setRegion(x, y, width, height);
...
// TextureRegion.java:82
float invTexWidth = 1f/texture.getWidth();
を使用してみてください? –
getTexture()はTextureRegionのテクスチャを取得します。この場合、「PriestOverworld3」はTextureRegionです。 c.packはTextureAtlasで、c.pngを使用します。 c.pngは使用されるテクスチャです。 – JasperMW