2016-07-24 10 views
1

Давайте получить некоторый код:Libgdx & Box2dLights - не может избавиться от черного фона

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(); 
} 

Когда я работал с LibGDX раньше, я использовал тот же код, приведенный выше, но с фоновой текстурой. Все было прекрасно, когда я отключил тени.

Теперь я не хочу использовать текстуру, но один цвет (белый, как показано выше). Проблема в том, что фон BLACK, но! Моя текстура логотипа видна.

Как-то rayHandler применяет черный фон, и я не знаю, что я делаю что-то неправильно или просто не могу комбинировать Box2dLights с цветом фона. Должен ли я использовать фоновый рисунок с желаемым цветом и установить его как фон, или есть ли решение для этого?

+0

ли вы имеете в виду, что при вы запускаете приложение, весь экран черный? Это проблема? – Nahro

ответ

0

Изменение порядка двух вызовов, glClearColor и glClear следующим образом:

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

В коде, экран очищается перед тем цвет установлен ...