LibGDX剪刀不起作用

时间:2014-05-31 15:57:26

标签: java libgdx 2d clipping

我想剪辑屏幕的某个部分,因此不会绘制外部的所有部分。 我的代码如下所示:

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之外的形状。 我的代码出了什么问题?

问候

1 个答案:

答案 0 :(得分:2)

直到renderer.end()才会进行渲染,因此将其放入ScissorStack