嘿,首先,我只想说我在快板上是一个完全的新手,而且几乎才刚刚开始。我想要做的是在屏幕上保持一条线一秒钟,然后让它消失。现在所发生的一切就是这条线停留在屏幕上。
下面是我的代码:
#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();发布于 2013-02-16 15:50:58
这里发生的情况是,您只是在同一位置重复绘制线条,而没有清除屏幕。您可以使用以下命令清除屏幕:
clear_to_color(buffer,makecol(r,g,b));最简单的解决方案是使用您首选的RGB值将此行添加到循环的开头。
https://stackoverflow.com/questions/14540197
复制相似问题