首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绘制单个精灵到Pixmap - LibGDX

绘制单个精灵到Pixmap - LibGDX
EN

Stack Overflow用户
提问于 2015-12-08 19:51:27
回答 1查看 1.2K关注 0票数 0

我目前正在致力于一个游戏,在其中,我需要像素完美地与物体碰撞。然而,我遇到的唯一障碍是得到物体的面具。我想过将一个对象的sprite (适当地缩放和转换)呈现为FrameBuffer,然后我会转换成一个像素映射,但是我没有运气(尝试了许多方法,包括)。

所以,我的问题是:在LibGDX中是否有一种方法可以将单个精灵呈现为像素映射?

EN

回答 1

Stack Overflow用户

发布于 2015-12-08 21:21:58

听起来像是把马放在马车后面。雪碧是纹理的一个区域,而纹理又是从文件(又名Pixmap )加载的图像。如果您只想从文件中加载图像,那么可以这样做:new Pixmap(Gdx.files.internal("yourfile.png"));。您还可以缩放和转换您的坐标,而无需首先呈现给FBO。

这就是说,获得FrameBuffer的Pixmap和截图一样“简单”,而FBO是绑定的,因为它就是这样的。

代码语言:javascript
复制
fbo.begin();
Gdx.gl.glClear(...);
... //render to the FBO
Pixmap pixmap = ScreenUtils.getFrameBufferPixmap(0, 0, fbo.getWidth(), fbo.getHeight());
fbo.end();

请注意,这将是看上去是朝下的

但是您可能只对像素数据感兴趣,所以最好跳过Pixmap步骤,在这种情况下使用ScreenUtils.getFrameBufferPixels方法。

不过是,也就是说,使用像素数据检测冲突很可能不是您想要达到的最佳解决方案。相反,我建议考虑其他选项,例如,查看这个工具,它可以用来将图像转换为碰撞形状。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34164782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档