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

时间:2016-01-14 19:39:19

标签: c++ allegro

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

#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 个答案:

答案 0 :(得分: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);

通常你会在更新 - 绘制循环中清除屏幕,所以你不会看到这种东西,但是如果你只是试图清除并翻转一次它会发生(我相信它可能会发生)与双缓冲有关,但不要引用我的话。)