19

ゲームを作成していますが、主人公の腕がマウスカーソルに追従するため、頻繁に回転します。それを回転させる最良の方法は何でしょうか?

4

3 に答える 3

23

SDLでは、いくつかの選択肢があります。


  1. すべてのスプライトを事前に回転させ(可能なすべての回転を事前にレンダリングし)、他のスプライトと同じようにレンダリングします。このアプローチは高速ですが、より多くのメモリとより多くのスプライトを使用します。@Nick Wiggleが指摘したように、RotSpriteはスプライト変換を生成するための優れたツールです。

  2. SDL_gfxのようなものを使用して、リアルタイムの回転/ズームを実行します。(推奨されません、非常に遅い)

  3. OpenGLモードでSDLを使用し、スプライトをプリミティブにレンダリングして、プリミティブに回転を適用します。


OpenGLを使用することのすべての利点を得ることができるので、オプション3はおそらく最善の策です。それをどうやってやりたいかはあなた次第です。また、スプライトをロードし、SDL_gfxを使用してすべての回転計算を実行してから、回転したバージョンをメモリ内のSDL_Surfaceに保存できる可能性もあります。

編集:あなたのコメントに応えて、私はLazyfooのSDLチュートリアルをチェックすることをお勧めします。具体的には、これは回転についてです。OpenGl関数glRotatefもあります。これはあなたの場合に役立ちます。すばやく検索すると、このちょっとした情報が戻ってきました。これも役立つ可能性があります。

于 2009-07-26T06:45:13.907 に答える
3

SDL_gfxのようなライブラリを使用できます

于 2009-07-26T06:44:09.823 に答える