LibGDX -Сбой приложения при вызове TiledMapRenderer.render()

@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)

Я пробовал этот туто и этот , и я получаю ту же ошибку в той же строке mLevel.getTiledMapRenderer().render(tmp.x, tmp.y, camera.viewportWidth, camera.viewportHeight);.

РЕДАКТИРОВАТЬ:Я только что заметил, что данные моего файла.tmx были автоматически закодированы Tiled Map Editor, поэтому я просто деактивировал его, но все равно получаю ту же ошибку.
Если я скопирую/вставлю этот проект(Я имею в виду весь проект, не только метод рендеринга ())он работает, но когда я пытаюсь загрузить свою собственную карту в свой собственный проект, он просто вылетает...

Поэтому после этого я решил упростить свой метод render(), просто сделав ссылку, которую я дал ранее, и используя TiledMapHelper class, предоставленный автором, так что теперь есть мой метод render():

mHelper.getCamera().update();
mHelper.render();

. Все еще крашуииииииииииииинг.....
Если кто-то может помочь, я был бы очень признателен, потому что я действительно схожу с ума!

7
задан flawyte 31 July 2012 в 20:02
поделиться