Привет, я пытался создать программу, в которой вы могли бы нарисовать линию от точки, где находится ваша мышь, но у меня возникли проблемы с выяснением, как удалить линию после того, как она была нарисована.
#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();
Вам нужно будет сохранить координаты линий в какой-либо структуре данных (например, массив структур). Если вы хотите удалить строку, удалите ее из структуры данных.
Ваш код для рисования выглядит так:
И не вызывайте экран приобретения / выпуска. Они, как правило, не нужны, и вы будете создавать себе много проблем, если будете их неправильно использовать.
Других решений пока нет …