2012-09-29 253 views
0

我想在SDL中的框架中顯示圖像(.png)。但是,不知何故,只有框架出現,圖像沒有加載。我從XML文件中讀取圖像細節。這是示例代碼我試圖:未在SDL中加載背景圖像

MyClass類{

mysurface2(io.loadAndSet(myftndata-> getXmlStr( 「回溯」),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

您正在屏幕上顯示屏幕,這是一個零操作。您應該將blit函數中的第一個屏幕更改爲表示圖像的SDL_Surface *。 您是否在使用庫(例如SDL_Image)加載.png文件?由於SDL只能加載.bmp文件。

+0

嘿,明白了,是的,我只是改變了屏幕上的圖像對象!。謝謝。 – pascal