0

SDLでフレーム内に画像(.png)を表示したいのですが、なぜかフレームしか表示されず、画像が読み込まれません.XMLファイルから画像の詳細を読み込んでいます.これは私が試しているサンプルコードです:

クラス myclass{

mysurface2(io.loadAndSet(myftndata->getXmlStr("backfile"), true) ),

myfframe(新しい fframe(img2, myftn->getXmlInt("backWidth"), myftn->getXmlInt("backHeight"), 0, 0)),

私のオブジェクト()

{

      if (SDL_Init(SDL_INIT_VIDEO) != 0) 
     {
       throw string("SDL Error!!!: ");             
     }

    atexit(SDL_Quit);

}

};

void myclass::drawImg() const {
SDL_FillRect( screen, NULL, SDL_MapRGB(screen->format, 255, 255, 255) );
SDL_Rect dest = {0, 0, 0, 0};
SDL_BlitSurface( screen, NULL, screen, &dest );
}
void myclass::move() 
 {
      while ( not done ) 
      {
        drawImg();    
        SDL_Flip(screen);
      }
 }

注意してください:私はフレームワーク全体を持っていますが、ここでは提供できません。上記は私が試しているコードです。

4

1 に答える 1

1

画面を画面にブリットしています。これはゼロ操作です。blit 関数の最初の画面を、画像を表す SDL_Surface* に変更する必要があります。.png ファイルの読み込みにライブラリ (SDL_Image など) を使用していますか? SDL は .bmp ファイルしかロードできないためです。

于 2012-09-30T13:15:22.393 に答える