背景图像未在SDL中加载

时间:2012-09-29 18:20:59

标签: sdl

我想在SDL中的一个帧中显示一个图像(.png)。但是,不知何故只有框架出现而图像没有被加载。我正在从XML文件中读取图像细节。这是示例代码我我在尝试:

班级myclass {

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

myfframe(新fframe(img2,                 myftn-> getXmlInt( “backWidth”),                 myftn-> getXmlInt(“backHeight”),0,0)),

myobjects()

{

      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);
      }
 }

请注意:我有一个完整的框架,我不能在这里给出。上面是我正在尝试的代码。

1 个答案:

答案 0 :(得分:1)

您正在屏幕上显示屏幕,这是一个零操作。您应该将blit函数中的第一个屏幕更改为代表图像的SDL_Surface *。 您是否正在使用库(例如SDL_Image)来加载.png文件?因为SDL只能加载.bmp文件。