libgdx SpriteBatch渲染到纹理

在libGdx(Android /桌面Java引擎)中使用SpriteBatch渲染纹理是否可能? 如果是这样,怎么办?

基本上我想要渲染一切到320×240区域的512×256纹理和比例缩放区域以适应屏幕(在横向模式)。 这样,我想消除独立缩放alpha混合纹理时发生的工件。 如果有任何其他的方式来删除这些文物,请指出:)

有没有libGdx的在线文档?

这个片段是在LibGDX论坛上给我的,它完美的工作。

private float m_fboScaler = 1.5f; private boolean m_fboEnabled = true; private FrameBuffer m_fbo = null; private TextureRegion m_fboRegion = null; public void render(SpriteBatch spriteBatch) { int width = Gdx.graphics.getWidth(); int height = Gdx.graphics.getHeight(); if(m_fboEnabled) // enable or disable the supersampling { if(m_fbo == null) { // m_fboScaler increase or decrease the antialiasing quality m_fbo = new FrameBuffer(Format.RGB565, (int)(width * m_fboScaler), (int)(height * m_fboScaler), false); m_fboRegion = new TextureRegion(m_fbo.getColorBufferTexture()); m_fboRegion.flip(false, true); } m_fbo.begin(); } // this is the main render function my_render_impl(); if(m_fbo != null) { m_fbo.end(); spriteBatch.begin(); spriteBatch.draw(m_fboRegion, 0, 0, width, height); spriteBatch.end(); } } 

目前,我build议你使用Pixmap 。 你看,没有很多为他们写的函数,但显然你可以写一个Pixmap (带有Alpha通道)到另一个( pm1.drawPixmap(pm2, srcx, srcy, w, h, ...) ),你不想缩放它(你可能会稍后调整构图,但是在构图中使用的图片的比例将不会resize,除非您编写resizefunction)。

如果你想做更复杂的东西(比如使用BitmapFont将string写入Texture以供稍后操作,或者将其写入Pixmap然后将其上传到video内存),那么…告诉我你是否成功了因为我想进入这个方向来优化)。 我认为最好的做法是将所需的函数添加到libgdx中

无论如何,不​​要拿我写在这里的任何东西作为一个不可否认的事实 – 如果我进一步,我会更新。

我发现的文件有一定的限制 – 我确定你已经完成了。 在badlogic的博客和googlecode项目页面中都有相关的信息,还有一个由Mario编写的“开始Android游戏”的书。 另外,还有一些(非常基本的)video。 不要忘记,你可以咨询源和美丽的例子…

另外,您可以随时在论坛中提问: http : //badlogicgames.com/forum/

更新 :使用FrameBufferTextureRegion答案无可否认好得多。 我只是因为它提到了文档而离开了这个。