我试图在舞台上绘制一个 Group
Actor,但我只需要在舞台的特定区域绘制它们。
例如假设我把舞台分成两部分(左和右),然后我想只在舞台的左边画一些 Actor ,所以如果其中一个走到右边就不会了绘制。
到目前为止,我尝试使用setCullingArea
方法,但是Actors 突然消失了,如果它在限制范围内,我想绘制一个actor 的一部分。
换句话说,我正在寻找一种绘制了 Group
的 mask 区域。
谢谢。
最佳答案
您可以使用剪刀将绘图剪到屏幕的特定区域。
Rectangle leftSide;
Rectangle rightSide;
//...
public void resize(int width, int height){
//...
leftSide = new Rectangle(0,0,width/2, height);
rightSide = new Rectangle(width/2, 0, width/2, height);
}
public void render(){
//...
Gdx.gl.glEnable(GL20.GL_SCISSOR_TEST);
Gdx.gl.glScissor((int)leftSide.x, (int)leftSide.y, (int)leftSide.width, (int)leftSide.height);
//Draw stage with left side actors (set right group invisible)
//...
Gdx.gl.glScissor((int)rightSide.x, (int)rightSide.y, (int)rightSide.width, (int)rightSide.height);
//Draw stage with right side actors (set left group invisible)
//...
Gdx.gl.glDisable(GL20.GL_SCISSOR_TEST);
//...
}
如果您有其他 actors 需要跨越边界,您可以在启用剪切之前先绘制它们,然后将它们设置为不可见。
关于android - Libgdx:在特定矩形中绘制 Actor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24817938/