2014-05-31 3 views
0

Я хочу закрепить определенную часть экрана, поэтому все, что лежит снаружи, не нарисовано. Мой код выглядит следующим образом:Ножницы LibGDX не работают

public void draw(Camera camera, ShapeRenderer renderer){ 
     Rectangle scissors = new Rectangle(); 
     Rectangle clipBounds = new Rectangle(pos.x, pos.y, pos.x+width, pos.y+height); 
     ScissorStack.calculateScissors(camera, 0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), new Matrix4(), clipBounds, scissors); 
     renderer.begin(ShapeType.Filled); 
     ScissorStack.pushScissors(scissors); 
     for(Block[] row : blocks){ 
      for(Block block : row) 
       block.draw(renderer);// draw some rects 
     } 
     ScissorStack.popScissors(); 

     renderer.end(); 
    } 

Но этот код не имеет никакого эффекта, то есть формы, которые лежат за пределами clipBounds рисуются тоже. Что случилось с моим кодом?

рассматривает

ответ

2

Рендеринг не происходит до тех пор, renderer.end() так положить, что внутри вашего ScissorStack.

Смежные вопросы