为什么 allegro c++ 用蓝色清除屏幕?

Why is allegro c++ clearing the screen with blue color?

我正在使用下面的代码,它应该用黑色清除屏幕,但它是蓝色的。

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

尝试翻转,然后稍等片刻再翻转:

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

通常你会在 update-draw 循环中清屏,所以你不会看到这种东西,但如果你只是想清屏并翻转一次 (我相信这可能与 double-buffering 有关,但请不要引用我的话)。