2013-04-04 18 views
7

Questo è il mio set-up:LibGDX - Come smussare gli attori disegnabili durante il ridimensionamento di uno stage di Scene2d?

stage = new Stage(1280, 800, false); 
button = new Button(drawableUp, drawableDown); 
stage.add(button); 

questo viene reso come segue:

@Override 
public void render(float delta) { 

    Gdx.gl.glClearColor(RED,GREEN,BLUE,ALPHA); 
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); 

    stage.act(delta); 

    stage.draw(); 
} 

Il problema è che quando viene mostrato il palcoscenico sul 1280x800 pulsante appare così:

unscaled image

Se il livello viene riscalato ad es. 1280x736, il pulsante drawable viene ridimensionato nel seguente modo: scaled image

C'è un modo per appianare i bordi in qualche modo? Perché proprio ora mi sembra che il ridimensionamento sia fatto semplicemente rimuovendo una linea di pixel nella metà superiore e una nella metà inferiore dell'immagine.

risposta

13

Stai utilizzando i filtri in qualsiasi punto del codice? Se no, allora provate questo:

texture.setFilter(TextureFilter.Linear, TextureFilter.Linear); 

Dove texture è l'oggetto texture che si sta utilizzando.

+1

Grazie. Mi hai indicato nella giusta direzione. Ho usato: tex = new Texture(); tex.setFilter (TextureFilter.MipMapLinearLinear, TextureFilter.Linear); – schafant

Problemi correlati