我正在构建一个包含许多项目的ListView,并且我已经在每个项目上应用了glScissor 防止图像溢出其区域。一切似乎都很好。 但是当我快速拖动它们时,所有物品都在移动,但似乎glScissor不适合图像。 我认为这个问题可能是因为glScissor在图像移动时将整数作为参数 浮动精度,我必须在使用时执行转换。如果是这样,我该如何解决这个问题? 提前致谢。 这是我的代码段:
enableScissor((int) clippingRectangle.x,
(int) (clippingRectangle.y + clippingRectangle.height),
(int) clippingRectangle.width,
(int) clippingRectangle.height);
draw(this.itemBorder, this.getAbsoluteX(), this.getAbsoluteY());//draw Texture here
disableScissor();
其中enableScissor是:
public void enableScissor( float clipX, float clipY, float clipWidth, float clipHeight) {
Gdx.gl.glEnable(GL20.GL_SCISSOR_TEST);
Gdx.gl.glScissor((int)(clipX),
(int) (clipY),
(int)(clipWidth),
(int)(clipHeight);
}
你可以看到这是在没有视频启用glScissor的情况下实现的: http://youtu.be/yJlhO_ZBufE 这是启用glScissor: http://youtu.be/vGRfgYnHixA?list=UU3ndtzcT6vPfupZ4_Bm1vrQ