2

SDL [in C++] で、1 ピクセルの大きな四角形を描画できるものを設定しようとしています。長方形と呼ばれる 2 番目の SDL_Surface を除いて、コード内のすべてが機能しています。初期化できなくて困っています。これを初期化しようとする行は次のとおりです。

rectangle = SDL_Surface(SDL_DOUBLEBUF | SDL_HWACCEL | 
                        SDL_SRCALPHA  | SDL_HWSURFACE,
                        screen->format, 1, 1, 16, NULL, clip_rect, 1);

時間を割いてこれを読んでくれてありがとう。

4

1 に答える 1

4

あなたが抱えている主な問題は、SDL_Surface機能がないことだと思います。新しいサーフェスを作成するには、 を使用しますSDL_CreateRGBSurfaceSDL_FreeSurface処理が完了したら、返されたサーフェスを必ず呼び出してください。そうしないと、メモリ リークが発生します。

さらに、長方形のサーフェスを作成する理由がわかりません。単色の四角形をよりきれいに描画する方法はSDL_FillRect、新しい面を作成しないことです。

于 2009-02-03T21:04:10.417 に答える