@Override
public void render(float delta) {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
camera.update();
sprite.setProjectionMatrix(camera.combined);
mLevel.getTiledMapRenderer().getProjectionMatrix().set(camera.combined);
Vector3 tmp = new Vector3();
tmp.set(0, 0, 0);
camera.unproject(tmp);
mLevel.getTiledMapRenderer().render(tmp.x, tmp.y, camera.viewportWidth, camera.viewportHeight);
sprite.begin();
...
sprite.end();
}
デスクトップ版を起動すると、次のようになります。
Exception in thread "LWJGL Application" java.lang.IllegalArgumentException: Number of remaining buffer elements is 0, must be at least 1. Because at most 1 elements can be returned, a buffer with at least 1 elements is required, regardless of actual returned element count
at org.lwjgl.BufferChecks.throwBufferSizeException(BufferChecks.java:162)
at org.lwjgl.BufferChecks.checkBufferSize(BufferChecks.java:189)
at org.lwjgl.BufferChecks.checkBuffer(BufferChecks.java:230)
at org.lwjgl.opengl.GL15.glBufferData(GL15.java:141)
at com.badlogic.gdx.backends.lwjgl.LwjglGL20.glBufferData(LwjglGL20.java:93)
at com.badlogic.gdx.graphics.glutils.VertexBufferObject.bind(VertexBufferObject.java:208)
at com.badlogic.gdx.graphics.Mesh.bind(Mesh.java:268)
at com.badlogic.gdx.graphics.g2d.SpriteCache.begin(SpriteCache.java:868)
at com.badlogic.gdx.graphics.g2d.tiled.TileMapRenderer.render(TileMapRenderer.java:336)
at com.badlogic.gdx.graphics.g2d.tiled.TileMapRenderer.render(TileMapRenderer.java:286)
at com.crunsh.libgdx.screens.GameScreen.render(GameScreen.java:102)
at com.badlogic.gdx.Game.render(Game.java:46)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:202)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:131)
this tutoとthis oneの両方を試しましたが、同じ行で同じエラーが発生しますmLevel.getTiledMapRenderer().render(tmp.x, tmp.y, camera.viewportWidth, camera.viewportHeight);
。
編集: .tmx ファイルのデータが Tiled Map Editor によって自動的にエンコードされていることに気付いたので、非アクティブ化しましたが、それでも同じエラーが発生します。このプロジェクト
をコピー/貼り付けすると (render() メソッドだけでなく、プロジェクト全体を意味します)、機能しますが、自分のプロジェクトに自分のマップをロードしようとするとクラッシュします...
render()
その後、前に提供したリンクのように、作成TiledMapHelper class
者が提供するものを使用してメソッドを簡素化することにしたので、render()
現在のメソッドがあります。
mHelper.getCamera().update();
mHelper.render();
まだcrashiiiiiiiiiiiiingg .....
atm私は本当に怒っているので、誰かが助けを提供してくれるなら、それは大歓迎です!