繁体   English   中英

绘制一个精灵到Pixmap-LibGDX

[英]Draw a single sprite to Pixmap - LibGDX

我目前正在开发一款需要与物体完美像素碰撞的游戏。 但是,我唯一遇到的障碍是实际上要遮住物体。 我考虑过将一个对象的精灵(经过适当缩放和转换)渲染到FrameBuffer,然后将其转换为像素图,但是我没有运气(尝试了很多方法,包括this

所以,我的问题是:有没有一种方法可以在LibGDX中将单个精灵渲染到像素图?

听起来就像把马放在马车后面。 Sprite是Texture的一个区域,而该区域又是从文件aka Pixmap加载的图像。 如果只想从文件中加载图像,则可以执行以下操作: new Pixmap(Gdx.files.internal("yourfile.png")); 您还可以缩放和变换坐标,而无需先渲染到FBO。

那就是 FFrame绑定时,获取FrameBuffer的Pixmap就像截屏一样“简单”,因为确实如此。

fbo.begin();
Gdx.gl.glClear(...);
... //render to the FBO
Pixmap pixmap = ScreenUtils.getFrameBufferPixmap(0, 0, fbo.getWidth(), fbo.getHeight());
fbo.end();

请注意,这看起来像是上下颠倒的

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

然而 ,那说; 对于要实现的目标,使用像素数据进行碰撞检测很可能不是最佳解决方案。 相反,我建议您考虑其他选项,例如看看该工具该工具可用于将您的图像转换为碰撞形状。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM