load という名前の 1 つのクラスにテクスチャを読み込もうとしましたが、このクラスには他のアセットの読み込みと表示が含まれています。
後で別のクラスで、クラス ロードのオブジェクトを作成して同じテクスチャソルブボックスを使用しようとしました。
public class load{
@Override
public void show() {
try {
XmlReader reader = new XmlReader();
Element element = reader.parse(Gdx.files.internal(
"data/loadassets.xml").read());.....
Element help = element.getChildByName("help");...
solvebox = new Texture(
Gdx.files.internal("data/" + help.get("box")));
}
...
}
今、別のクラスでこれのオブジェクトを作成し、それを描画しようとしました...
class correct{
....
@Override
public void render(float delta) {
load obj=new load();
batch.begin();
batch.draw(obj.solvebox, ((w / 2) - (w / 15f)), (h / 3));
batch.end();
...
}
NullPointerException
しかし、クラスロードのオブジェクトを使用して2回目に描画したいこの場所に表示されます
> 09-06 16:56:04.910: E/AndroidRuntime(30523): FATAL EXCEPTION: GLThread
> 26856
> 09-06 16:56:04.910: E/AndroidRuntime(30523): java.lang.NullPointerException
> 09-06 16:56:04.910: E/AndroidRuntime(30523): at com.badlogic.gdx.graphics.g2d.SpriteBatch.renderMesh(SpriteBatch.java:1042)
> 09-06 16:56:04.910: E/AndroidRuntime(30523): at com.badlogic.gdx.graphics.g2d.SpriteBatch.end(SpriteBatch.java:267)
> **
>
> > 09-06 16:56:04.910: E/AndroidRuntime(30523): at
> > com.invntn.screens.CorrectScreen.render(CorrectScreen.java:86)
>
> **
> 09-06 16:56:04.910: E/AndroidRuntime(30523): at com.badlogic.gdx.Game.render(Game.java:46)
> 09-06 16:56:04.910: E/AndroidRuntime(30523): at com.invntn.trycolor.TryColor.render(TryColor.java:42)
> 09-06 16:56:04.910: E/AndroidRuntime(30523): at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:457)
> 09-06 16:56:04.910: E/AndroidRuntime(30523): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1516)
> 09-06 16:56:04.910: E/AndroidRuntime(30523): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)