ゲームを作成していますが、主人公の腕がマウスカーソルに追従するため、頻繁に回転します。それを回転させる最良の方法は何でしょうか?
3 に答える
SDLでは、いくつかの選択肢があります。
すべてのスプライトを事前に回転させ(可能なすべての回転を事前にレンダリングし)、他のスプライトと同じようにレンダリングします。このアプローチは高速ですが、より多くのメモリとより多くのスプライトを使用します。@Nick Wiggleが指摘したように、RotSpriteはスプライト変換を生成するための優れたツールです。
SDL_gfxのようなものを使用して、リアルタイムの回転/ズームを実行します。(推奨されません、非常に遅い)
OpenGLモードでSDLを使用し、スプライトをプリミティブにレンダリングして、プリミティブに回転を適用します。
OpenGLを使用することのすべての利点を得ることができるので、オプション3
はおそらく最善の策です。それをどうやってやりたいかはあなた次第です。また、スプライトをロードし、SDL_gfxを使用してすべての回転計算を実行してから、回転したバージョンをメモリ内のSDL_Surfaceに保存できる可能性もあります。
編集:あなたのコメントに応えて、私はLazyfooのSDLチュートリアルをチェックすることをお勧めします。具体的には、これは回転についてです。OpenGl関数glRotatef
もあります。これはあなたの場合に役立ちます。すばやく検索すると、このちょっとした情報が戻ってきました。これも役立つ可能性があります。
SDL_gfxのようなライブラリを使用できます