2013-07-28 33 views
0

我的問題是我無法加載位圖到快門後,編譯窗口停止工作。我嘗試了不同顏色深度的不同位圖,但它仍然不起作用。無法加載位圖,ALLEGRO C++ CODEBLOCKS

#include <allegro.h> 

int main(int argc, char *argv[]) 
{ 
    allegro_init(); 
    install_keyboard(); 

    set_color_depth(16); 
    set_gfx_mode(GFX_AUTODETECT_WINDOWED, 800, 600, 0,0); 
    set_window_title("The Game"); 

    BITMAP *bmp = create_bitmap(800,600); 
    clear_bitmap(bmp); 
    BITMAP *BG = load_bitmap("tlotlo.bmp",NULL); 

    while(!key[KEY_ESC]) 
    { 
    blit(bmp, screen, 0,0,0,0, bmp->w, bmp->h); 
    blit(BG, bmp, 0,0,0,0, BG->w, BG->h); 
    } 

    destroy_bitmap(bmp); 
    destroy_bitmap(BG); 


    return 0; 


} 
END_OF_MAIN(); 

回答

0
  1. 使用set_color_depth(desktop_color_depth())

  2. 你是不是檢查返回代碼。如果create_bitmapload_bitmap失敗,他們將返回NULL,您需要相應處理。

  3. 如果您不在正確的目錄中,加載位圖將失敗。您可以通過使用位圖的完整路徑來測試。如果完整路徑解決了問題,那麼您應該重新配置IDE以正常工作。

  4. 有可能Allegro不支持BMP文件。 Allegro 4的BMP加載代碼無法加載更多「現代」版本的格式。如果你剛開始,你應該真正使用Allegro 5。