![]() |
![]() |
n00b |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 1 Пол: Мужской Репутация: ![]() ![]() ![]() |
Подскажите как работать с графикой, например перемещение картинки по экрану. Я вижу это так:
assign (f,'file'); reset(f); //загрузка картинки в матрицу for y:=1 to 50 do for x:=1 to 50 do read (f, color); mas (x,y):=color; //вывод картинки на экран for y:=1 to 50 do for x:=1 to 50 do PutPixel (x,y,color); но в таком случае нужно "затереть" те точки на, которых была картинка, точками фона. Сам понимаю что это очень примитивно, по этому и обращаюсь к Вам за помощью. |
![]() ![]() |
CMOS |
![]()
Сообщение
#2
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 57 Пол: Мужской Репутация: ![]() ![]() ![]() |
PutPixel - забудь навсегда. Не созданно таких компьютеров, к-рые смогли бы потянуть несколько таких спрайтов в реал-тайм.
Изучи спрайты Выводи картинки не по-пиксельно, а куском памяти рисовать-затирать - для одного спрайта пойдет. А для 50? Изучай двойную буферизацию. Кстати, у модуля graph с этим проблемы выглидит это примерно так: одну экран показываешь, на другом рисуешь: очистка выводишь фон(тоже спрайт) далее остальные спрайты Меняешь их местами. SetActivePage, SetVisiblePage помойму так |
![]() ![]() |
![]() |
Текстовая версия | 24.06.2025 11:22 |