2016-07-24 25 views
1

Lassen Sie sich einen Code erhalten:Libgdx & Box2dLights - nicht von schwarzem Hintergrund loszuwerden

public MyScreen implements Screen{ 
    logo = new Texture(/**/); // loading some images 

    // initializing the RayHandler 
    rayHandler = new RayHandler(new World(new Vector2(0f,0f), false)); 
    rayHandler.setShadows(false); 
    rayHandler.setCombinedMatrix(stage.getCamera().combined); 
} 

@Override 
public void render(float delta) { 
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); 
    Gdx.gl.glClearColor(Color.WHITE.r,Color.WHITE.g,Color.WHITE.b,1); 

    batch.begin(); 
    batch.draw(logo,logo_pos.x, logo_pos.y, logo.getWidth(),logo.getHeight()); 
    batch.end(); 

    stage.act(delta); 
    stage.draw(); 

    rayHandler.updateAndRender(); 
} 

Als ich mit Libgdx gearbeitet, habe ich den gleichen Code oben, aber mit einer Hintergrundtextur. Alles war in Ordnung, wenn ich Schatten deaktivierte.

Jetzt möchte ich keine Textur, sondern eine einzige Farbe (weiß, wie oben gezeigt). Das Problem ist hier, dass der Hintergrund schwarz ist, aber! Meine Logo-Textur ist sichtbar.

Irgendwie wendet rayHandler den schwarzen Hintergrund an und ich weiß nicht, ob ich etwas falsch mache oder Box2dLights mit einer Hintergrundfarbe nicht kombinieren kann. Soll ich eine Hintergrundtextur mit meiner gewünschten Farbe verwenden und als Hintergrund einstellen, oder gibt es dafür eine Lösung?

+0

Meinen Sie, dass, wenn du startest die appl, der ganze bildschirm ist schwarz? Ist das das Problem? – Nahro

Antwort

0

ändern Sie die Reihenfolge der beiden Anrufe, glClearColor und glClear wie folgt:

Gdx.gl.glClearColor(Color.WHITE.r, Color.WHITE.g, Color.WHITE.b, 1f); // White 
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); 

In Ihrem Code, der Bildschirm gelöscht wird, bevor die Farbe ist für ...