Привет, во-первых, я просто хочу сказать, что я полный нуб в аллегро и почти только начал. Что я хочу сделать, так это сохранить линию на экране в течение секунды, но затем она исчезнет. Прямо сейчас все, что происходит, это то, что линия просто остается на экране.
Вот мой код:
#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();
release_screen()
, потому что я почти уверен, что она не нужна там, где вы ее используете. Функцияdraw_sprite()
, как и все стандартные функции рисования, позаботится о блокировке и освобождении экрана за вас. Если вы не делаете что-то достаточно сложное, вам, скорее всего, никогда не придется вручную отпускать экран. - person Alex   schedule 16.02.2013