0
Warum ist dasWarum macht Sprite.draw mein Sprite nicht, aber Batch.render und SpriteBatch.render?
player.sprite.draw(batch);
nicht mein Sprite nicht machen, aber
batch.draw(player.sprite.getTexture(), 0,0);
tut?
Meine komplette Render-Methode:
public void render(float deltaTime) {
if (assets.assetManager.update()) {
loading = false;
player = new Cat(assets.assetManager.get("textures/Cat.png", Texture.class));
player.sprite.setPosition(0,0);
}
else
{
timeLoading += deltaTime;
System.out.println("Progress: " + assets.assetManager.getProgress() * 100);
}
if (!loading)
{
rayHandler.updateAndRender();
Gdx.gl.glClearColor(0.37f, 0.73f, 0.84f, 1f);
Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
processUserInput();
player.update(deltaTime);
orthogonalTiledMapRenderer.setView(orthographicCamera);
orthogonalTiledMapRenderer.render();
batch.begin();
if (debug)
renderDebugInfo();
player.sprite.draw(batch);
batch.draw(player.sprite.getTexture(), 0,0);
batch.end();
batch.setProjectionMatrix(orthographicCamera.projection);
rayHandler.setCombinedMatrix(orthographicCamera);
orthographicCamera.update();
world.step(1, 4, 4);
}
}
Die Dokumentation für den leeren Konstruktor für Sprite besagt, dass eine Region festgelegt werden muss, bevor es gezeichnet werden kann. Wenn Sie nur eine Textur festlegen, wird auch keine Region festgelegt. – Tenfour04