[英]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.