質問

私は、私は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 にあります表面ます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top