2016-01-14 98 views
0

我正在使用下面的代碼,它應該用黑色清除屏幕,但它是藍色的。爲什麼allegro C++用藍色清除屏幕?

#define ALLEGRO_STATICLINK 
#include <allegro5/allegro.h> 

int main() 
{ 
al_init(); 
ALLEGRO_DISPLAY* display = al_create_display(800, 600); 
al_clear_to_color(al_map_rgb(0, 0, 0)); 
al_flip_display(); 
al_rest(5.0); 
return 0; 
} 

enter image description here

+1

它適合我。它顯示一個普通的黑色窗口。 (Archlinux,內核4.3.3,allegro 5.0.11-1) – Michael

+1

也在Archlinux上測試過,我得到一個黑色的窗口。儘管嘗試改變顏色,因爲即使清除紅色,我也有一個黑色的窗口。 – rcorre

回答

2

嘗試翻轉,然後等待一位再翻轉之前:

ALLEGRO_DISPLAY *display = al_create_display(800,600); 

al_flip_display(); 
al_rest(0.1); 

al_clear_to_color(al_map_rgb(0,0,0)); 
al_flip_display(); 

al_rest(2.0); 

通常你會清除屏幕在更新拉環,這樣你就不會看到這樣的事情,但是如果你只是想清除並翻轉一次就會發生(我相信它可能與雙緩衝有關,但不要在此引用我)。