Wenn ich das Sprite bei (0,0) mit der ursprünglichen Größe der Textur (256,256) zeichnen, funktioniert es gut, aber wenn ich die Position oder die Größe ändern, wird das Sprite durcheinander gebracht. Hier ist der Code:LibGdx Schnitt Textur statt Skalierung
private SpriteBatch batch;
private Sprite sprite;
private OrthographicCamera camera;
@Override
public void create() {
camera=new OrthographicCamera(600,600);
camera.position.set(0,0,0);
camera.update();
batch=new SpriteBatch();
sprite=new Sprite(new Texture("TestBlock_01.png"),0,0,256,256);
}
@Override
public void render() {
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
batch.setProjectionMatrix(camera.combined);
batch.draw(sprite,sprite.getX(),sprite.getY(),sprite.getWidth(),sprite.getHeight());
batch.end();
}
Aber jetzt, wenn ich ändern, um die Position und die Größe (-100, -100.100.100):
Wie kann ich das beheben es?
Verwenden 'sprite.draw (Batch);', nicht 'batch.draw (Sprite, ...);'. Man könnte es als grundlegendes Designproblem von libgdx bezeichnen, wenn Sprite die TextureRegion erweitert und hoffentlich in einer nächsten Hauptversion behoben wird. – Xoppa