嘿,首先,我只想说我是快板上的一个完整的菜鸟,而且刚开始。我想要做的是在屏幕上保持一条线一秒钟,然后让它消失。现在所发生的一切都是线路停留在屏幕上。
这是我的代码:
#include <allegro.h>
#include <cstdlib>
BITMAP *buffer;
int main(){
allegro_init();
install_mouse();
install_keyboard();
set_color_depth(16);
set_gfx_mode( GFX_AUTODETECT, 640, 480, 0, 0);
buffer = create_bitmap( 640, 480);
while( !key[KEY_ESC]){
if (key[KEY_SPACE]){
line( buffer, 30, 450, mouse_x, mouse_y, makecol( 255, 0, 0));
}
draw_sprite( screen, buffer, 0, 0);
release_screen();
rest(10);
}
return 0;
}
END_OF_MAIN();
答案 0 :(得分:0)
这里发生的是你只是在同一个地方重复画线,而不是清除屏幕。您可以使用以下方式清除屏幕:
clear_to_color(buffer,makecol(r,g,b));
最简单的解决方案是使用您喜欢的RGB值将此行添加到循环的开头。