2013-06-02 8 views
7

Sono stato in giro con LibGDX da un po 'di tempo e volevo trasferire facilmente i miei programmi su sistemi diversi. Ho una texture di sfondo, che voglio ridimensionare alla risoluzione attualmente utilizzata. L'immagine è 1920x1080, come posso cambiarla con la risoluzione attualmente utilizzata in fase di esecuzione?(Java LibGDX) Come si ridimensionano le mie trame in LibGDX?

+1

ci sono molti modi per a Rispondi a questa domanda che dipende da come stai andando a renderizzare la trama. Puoi fornire ulteriori dettagli specifici su ciò che stai facendo? –

risposta

9
batch.begin(); 
    batch.draw(yourtexture, 0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); 
    batch.end(); 

Utilizzando la finestra fotocamera funziona anche:

batch.begin(); 
    batch.draw(yourtexture, 0, 0, cam.viewportWidth, cam.viewportHeight); 
    batch.end(); 
+6

Questo non è davvero scalling, è solo restringere la trama quando viene disegnato, i dispositivi poveri avrebbero problemi con questo .. –

5

Se si desidera ridimensionare a disegnare l'uso a:

Pixmap pixmap200 = new Pixmap(Gdx.files.internal("200x200.png")); 
Pixmap pixmap100 = new Pixmap(100, 100, pixmap200.getFormat()); 
pixmap100.drawPixmap(pixmap200, 
     0, 0, pixmap200.getWidth(), pixmap200.getHeight(), 
     0, 0, pixmap100.getWidth(), pixmap100.getHeight() 
); 
Texture texture = new Texture(pixmap100); 
pixmap200.dispose(); 
pixmap100.dispose(); 

Da:

https://www.snip2code.com/Snippet/774713/LibGDX-Resize-texture-on-load