【问题标题】:Why is allegro c++ clearing the screen with blue color?为什么 allegro c++ 用蓝色清除屏幕?
【发布时间】:2016-01-14 19:39:18
【问题描述】:

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

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

【问题讨论】:

  • 它对我来说很好用。它显示一个常规的黑色窗口。 (Archlinux,内核 4.3.3,allegro 5.0.11-1)
  • 也在 Archlinux 上测试过,我得到一个黑色的窗口。不过尝试更改颜色,因为即使清除为红色,我也会看到黑色窗口。

标签: c++ allegro


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2013-06-24
    • 1970-01-01
    • 2013-11-13
    • 2015-03-04
    • 2014-01-09
    • 1970-01-01
    • 2020-07-01
    • 1970-01-01
    • 2016-01-15
    相关资源
    最近更新 更多