1

spriteBatch を textureに保存できるかどうかを知りたいです。

 SpriteBatch batch = new SpriteBatch();

batch 内にいくつかのものを描画した後、SpriteBatch を含むすべてのものを 1 つのテクスチャ(スクリーンショットのようなもの)に保存したいと思います。

Web と libgdx doc で検索しましたが、見つかりませんでした。

ありがとうございます

4

2 に答える 2

2

FrameBufferObject(FBO)にレンダリングできます。https://github.com/mattdesl/lwjgl-basics/wiki/FrameBufferObjectsを参照してください。

FBO は、事前にテクスチャにレンダリングする決定を下しても問題ない場合に機能します。副作用の 1 つは、イメージが画面にレンダリングされず、テクスチャにのみレンダリングされることです。(もちろん、後でテクスチャを画面にレンダリングするのは簡単です)。

他の回答が示唆しているように、画面バッファーからバイトを削り取り、Texture結果からa を作成Pixmapできます (ファイルシステムまでずっと行く必要はありません)。https://code.google.com/p/libgdx-users/wiki/Screenshotsを参照してください(getScreenshotメソッドを使用しPixmapてバイトを取得するだけです)。

于 2013-12-22T20:57:18.967 に答える
1

次のようにテクスチャへの変換を使用します。

final Pixmap pmap = new Pixmap(bytes, 0, bytes.length);
try{
    Gdx.app.postRunnable(new Runnable(){
        public void run(){
        texture=new Texture(pmap);
        }
    });
}catch(Exception e){
    e.printStackTrace();
}
于 2013-12-22T19:50:49.867 に答える