2014-06-18 106 views
1

我一直试图“剪切”一段时间的图像,现在我将解释为什么以及我尝试了什么。 所以我想创造一个惠普“酒吧”,除了它不是一个酒吧,而是一颗心,所以我虽然很容易,但我所要做的只是将两张照片相互叠加,然后剪下一张来制作它出现在hp正在丢失,但我无法找到一种方法来削减图像。libgdx剪切图像

  • 设置高度正好调整大小,你可能已经猜到了
  • 我试着用textureRegion来样破解它,但它并没有去像这么好
  • 我发现了一个名为修剪方法开始也使用剪刀,但由于某种原因,似乎没有工作。

我可能会用夹子开始错了,但我真的不能找到任何真正的文件,我做的是:

image.clipBegin(x,y,height,weight); 
image.clipEnd(); 

我差点忘了,我使用的是scene2d Image,可能是更好的方法来绕过它,但不知道那会是什么。

我很感谢关于如何做到这一点的任何想法,谢谢。

回答

2

您想使用Libgdx公开的OpenGL Scissor支持。请参阅Libgdx Clipping wikiLibgdx ScissorStack documentation

该API不是特别友好(其设计用于支持动态推送多个约束矩形,就我所见,它不常用)。

使用剪刀栈记住的重要一点是它只适用于发出的实际绘图命令。由于大多数API试图批量绘制命令,这意味着实际绘制可能不会发生,看起来应该发生。为了确保裁剪正在发生,您必须在推剪刀之前冲洗任何缓冲的绘图(否则错误的东西可能会被裁剪),并且在弹出剪刀之前必须冲洗任何绘制调用(否则,要裁剪的东西可能会避免剪刀)。

请参阅libgdx ScissorStack not working as expectedlibGDX - How to clipHow to draw on just a portion of the screen with SpriteBatch in libgdx?Making a Group hide Actors outside of its bounds