Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java libgdx剪切图像_Java_Image_Libgdx_Crop_Clipping - Fatal编程技术网

Java libgdx剪切图像

Java libgdx剪切图像,java,image,libgdx,crop,clipping,Java,Image,Libgdx,Crop,Clipping,我尝试“剪切”图像已有一段时间了,我将解释为什么以及我尝试了什么。 所以我想创建一个hp“棒”,但它不是一个棒,而是一个心脏,所以我想我所要做的是让两张图片相互重叠,然后只剪切一张,使其看起来像hp正在丢失一样,这很简单,但我找不到一种方法来剪切图像 正如您可能猜到的那样,设置高度只会调整图像的大小 我试着用textureRegion来破解它,但效果不太好 我发现了一种叫做clip-begin的方法,它也使用剪刀,但由于某种原因,它似乎不起作用 我可能使用的剪辑开始错误,但我找不到任何真正的

我尝试“剪切”图像已有一段时间了,我将解释为什么以及我尝试了什么。 所以我想创建一个hp“棒”,但它不是一个棒,而是一个心脏,所以我想我所要做的是让两张图片相互重叠,然后只剪切一张,使其看起来像hp正在丢失一样,这很简单,但我找不到一种方法来剪切图像

  • 正如您可能猜到的那样,设置高度只会调整图像的大小
  • 我试着用textureRegion来破解它,但效果不太好
  • 我发现了一种叫做clip-begin的方法,它也使用剪刀,但由于某种原因,它似乎不起作用
我可能使用的剪辑开始错误,但我找不到任何真正的文档,我所做的只是:

image.clipBegin(x,y,height,weight);
image.clipEnd();
我差点忘了,我使用的是scene2d图像,可能是一种更好的方法,但不确定那会是什么


如果您有任何关于如何做到这一点的想法,我将不胜感激。

您希望使用Libgdx公开的OpenGL剪刀支持。见 还有

API并不特别友好(它的设计支持动态推送多个约束矩形,就我所见,这并不经常使用)

剪刀式堆栈需要记住的重要一点是,它仅适用于发出的实际绘制命令。由于大多数API尝试批量绘制命令,这意味着实际绘制可能不会在看起来应该发生的时候发生。为了确保剪切正在进行,您必须在推剪刀之前刷新所有缓冲的绘图(否则错误的东西可能会被剪切),并且必须在弹出剪刀之前刷新所有绘图调用(否则您想要剪切的东西可能会避开剪刀)

看见或看见