トラブルSDL_Surfaceにを初期化しました
-
21-08-2019 - |
質問
私は、私は1つのピクセルの大きな四角形を描画することができ、[C ++で] SDLで何かを設定しようとしています。私は、長方形と呼ばれる私の第二SDL_Surfaceに除いて取り組んで私のコードですべてを持っています。私は悩み、それを初期化を抱えています。ここで私はそれを初期化しようとする行があります:
rectangle = SDL_Surface(SDL_DOUBLEBUF | SDL_HWACCEL |
SDL_SRCALPHA | SDL_HWSURFACE,
screen->format, 1, 1, 16, NULL, clip_rect, 1);
これを読んで、あなたが与えることを選択する可能性のあるすべての回答に時間を割いていただき、ありがとうございます。
解決
私はあなたが持っている主な問題は何もSDL_Surface
機能がないことだと思います。新しい面を作成するには、 SDL_CreateRGBSurface
を使用します。あなたはそれで行われたり、メモリリークが発生します後に返さ面にSDL_FreeSurface
を呼び出すようにしてくださいます。
また、私はあなたが長方形のために表面を作成している理由はわかりません。ソリッドカラーの長方形を描画するクリーンな方法は、新規作成することなく、 SDL_FillRect
にあります表面ます。
所属していません StackOverflow