gpt4 book ai didi

java - 将单个 Sprite 绘制到 Pixmap - LibGDX

转载 作者:行者123 更新时间:2023-12-01 21:56:48 28 4
gpt4 key购买 nike

我目前正在开发一款游戏,需要与物体进行像素完美碰撞。然而,我遇到的唯一障碍是实际获得该物体的掩模。我考虑过将对象的 Sprite (已正确缩放和转换)渲染到 FrameBuffer,然后将其转换为像素图,但我没有成功(尝试了很多方法,包括 this )

所以,我的问题是:有没有办法将单个 Sprite 渲染到 LibGDX 中的像素图?

最佳答案

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

也就是说;获取 FrameBuffer 的 Pixmap 就像 taking a screenshot 一样“简单”而 FBO 是绑定(bind)的,因为它就是这样。

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

请注意,这将 look like it is up-side-down .

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

但是,也就是说;对于您想要实现的目标,使用像素数据进行碰撞检测很可能不是最佳解决方案。相反,我建议查看其他选项,例如查看 this tool它可用于将您的图像转换为碰撞形状。

关于java - 将单个 Sprite 绘制到 Pixmap - LibGDX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34164782/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com