2016-03-28 8 views
1

私は、このトピックがすでに持ち出されていることを知っていますが、私はページから何も得ることができませんでした。私の答えの一つの手がかりは、GIFを各フレームに分割する必要があるということでしたが、どうでしたか?これに伴いい​​くつかのコードは非常に高く評価されるでしょう。 ありがとうございました。C++ SDL2 | SDL2でGIFを再生するにはどうすればよいですか?

+0

ゲームでアニメーションを再生するだけですか?または、GIFとGIFだけが必要ですか? – HolyBlackCat

+0

聖なる黒い猫に、私がやろうとしているのは、ビデオカットシーンのような効果を作り出すために、サウンドファイルと一緒にGIFファイルを使用することです。はい、私はこれが非常に奇妙に聞こえることを知っていますが、私はいつか私のゲームでうんざりしていました。私は基本的なアニメーションのためにスプライトシートを使う方法を知っているので、私はそれを助ける必要はありません。他のライブラリと組み合わせてSDLで.aviビデオを再生できますが、それらはSDL1を使用しています。また、1つのGIFファイル内のすべてのフレームでGIFを再生することは可能でしょうか? –

+0

私はゲームでGIFを使用していませんが、これを見つけました:http://stackoverflow.com/questions/22708336/reading-animated-gifs-sdl-2コメントの中には、あなたが 'libungif'やGIFを読み込むための 'giflib'それらを試してください。 – HolyBlackCat

答えて

2

GIFLIBを使用すると、gifアニメーションを読むことができます。 GIFLIBは、ファイル全体を構造体に読み込んでフレームを簡単に取り出すことができる便利な "slurp"関数を提供します。 1つのGIFフレームからSDL_Textureを構築するときは、しばらくしてIIRCですが、各ピクセルのパレットから色をルックアップする必要があります。 gifには固定フレームレートが1つもないので、各フレームの個々の遅延時間も保存する必要があります。 gifファイル形式の詳細については、thisを読んでください.GIFLIBを理解するのに役立ちます。

しかし、私はcutscenes(と他のほとんどのもの)のために控えめなGIF形式を使用することを勧めません。かなりスペースが空いており、オーディオをうまく同期させることができないかもしれません。 「本当の」ビデオフォーマットを再生する方法を探してみることをお勧めします。this projectをご覧ください。

+0

ありがとう!これは本当に私を助けました! –

関連する問題