当前位置: 首页 > 面试题库 >

libgdx切割图像

许法
2023-03-14
问题内容

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

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

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

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

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

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


问题答案:

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

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

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

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



 类似资料:
  • 在libGDX中切换屏幕似乎有问题。它会切换到游戏屏幕,但不会切换回主屏幕,也不会切换到屏幕上的游戏。我的游戏课: 我的GameScreen类(实现屏幕): 这就是我如何更改屏幕(不工作): 你可以在这里找到全部来源。

  • 切割日志使用logrotate这个服务即可。 编辑/etc/logrotate.d/nginx这个文件,内容如下: /var/log/nginx/*.log { weekly missingok rotate 52 compress delaycompress notifempty create 0640 www-data adm s

  • 本文向大家介绍Nginx日志按日期切割详解(按天切割),包括了Nginx日志按日期切割详解(按天切割)的使用技巧和注意事项,需要的朋友参考一下 实现需求 本文实现的功能是在吗每天凌晨00:00把前一天的Nginx日志access.log重命名为access-xxxx-xx-xx.log格式,例如:access-2016-10-01.log,下面话不多说了,来看看详细的实现方法吧。 实现方法 脚本

  • 问题内容: 我有一个字符串如下: 我想提取数字:872226816,因此在这种情况下,我假设在第二个逗号开始读取数据之后,随后的逗号结束数据读取。 输出示例: 问题答案: 用于String.split()的 Javadoc

  • 问题内容: 如何使用Java 剪切文件? 我想要的是: 当用户按下标有按钮的按钮时,应将音频从前一个(以纳秒为单位)剪切到当前位置(以纳秒为单位)。 (在剪切声音后,标记被定位到当前位置(以纳秒为单位)) 当我获得一段音频后,我想保存该段音频文件。 我怎样才能做到这一点 ? 问题答案: 最初由Martin Dow回答 }

  • 由来 在Java的String对象中提供了split方法用于通过某种字符串分隔符来把一个字符串分割为数组。但是有的时候我们对这种操作有不同的要求,默认方法无法满足,这包括: 分割限制分割数 分割后每个字符串是否需要去掉两端空格 是否忽略空白片 根据固定长度分割 通过正则分隔 因此,StrSpliter应运而生。StrSpliter中全部为静态方法,方便快捷调用。 方法 基础方法 split 切分字