libgdx切割图像

问题描述

您想使用Libgdx公开的OpenGL Scissor支持。请参阅Libgdx Clipping WikiLibgdxScissorStack文档

该API并不是特别友好(它旨在支持动态推送多个约束矩形(据我所知,这种矩形并不经常使用))。

使用剪刀式堆栈要记住的重要一点是,它仅适用于发出的实际绘制命令。由于大多数API都尝试批处理绘图命令,因此这意味着实际的绘图可能不会发生。为了确保发生剪切,您必须在推剪刀之前冲洗所有缓冲的绘图(否则可能会剪切错误的东西),并且必须在弹出剪刀之前冲洗所有的绘图调用(否则要剪切的东西可能会避免剪刀)。

看到libgdxScissorStack不能按预期运行,使用libgdx中的SpriteBatch剪辑或如何仅在屏幕的一部分上绘制?或[使组将Actor隐藏在其范围之外](http://codingdict.com/questions/159517。

解决方法

我已经尝试“剪切”图像一段时间了,我将解释原因和尝试之处。所以我想创建一个hp“
bar”,除了它不是一个bar,而是一个心,所以我要做的只是将两张图片相互画在上面,然后只剪一张就可以了。好像在hp中丢失了一样,但是我无法找到削减图像的方法。

  • 设置高度只会调整图像的大小,您可能已经猜到了
  • 我尝试使用textureRegion对其进行破解,但效果不佳
  • 我发现了一种称为clip begin的方法,该方法也使用剪刀,但由于某种原因,似乎无法正常工作。

我可能正在使用该剪辑开头错误,但实际上找不到任何真正的文档,我正在做的是:

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

我几乎忘记了,我使用的是Scene2d图像,可能是解决它的更好方法,但不确定会是什么。

感谢您提出任何有关此操作的想法,谢谢。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...