Вот довелось мне и в этой ветке форума побывать...
Пишу прогу на borland c++ 3.1 (не я выбирал, такое задание), для доступа к графике использую стандартный egavga.bgi. Прога по сути является простенькой игрушкой, но суть не в проге, а в том, что в ней есть движущиеся элементы.
Первое, что пришло в голову - прогонять в цикле закрашивание старого изображения с последующей прорисовкой нового на пиксель правее (левее, выше, ниже).
Всё бы хорошо, но при движении изображение мерцает, а если их несколько, даже просматривается сам процесс заливки. Выставление небольшой задержки не помогает.
Второе, что пришло в голову - один раз рисовать изображение, копировать его в оперативку, а потом вставлять, закрашивать и снова вставлять, но функция putimage() почему-то не рисует изображение совсем, если хотя бы часть его выходит за пределы экрана, а мне надо, чтобы объект плавно появлялся из-за экрана.
Сейчас парюсь над функцией, которая бы попиксельно сдвигала объект, но что-то тоже ничего хорошего не выходит.
Подозреваю, что как-то можно было бы сделать, чтобы изображение сначала "рисовалось" в оперативке, а уже потом готовый кадр выводился на экран, но не могу найти, как это можно было бы реализовать.
У кого какие идеи есть, поделитесь, пожалуйста.
Unorganized miserly pills online no preparation
Модераторы: Al_lexx, Sharp, ionika, Happy_MAN, 0xFF, Atom, Serega S.U.
Re: буферизация изображения си
MYriad
Путь в никуда.
Надо пользовать фрейм буфер - формировать изображение на страничке в памяти, выводить страничку на экран, в это же время формировать след. кадр на страничке в памяти ...
Плюс квантование времени.
Плюс в вашем случае - спрайты.
Плюс ассемблерные вставки.
google в помощь, информации в сети огромное количество.
Плюс порыть на предмет граф. библиотеки под dos.
Путь в никуда.
Надо пользовать фрейм буфер - формировать изображение на страничке в памяти, выводить страничку на экран, в это же время формировать след. кадр на страничке в памяти ...
Плюс квантование времени.
Плюс в вашем случае - спрайты.
Плюс ассемблерные вставки.
google в помощь, информации в сети огромное количество.
Плюс порыть на предмет граф. библиотеки под dos.
Три пути ведут к знанию: путь размышления - это путь самый благородный, путь подражания - это путь самый легкий и путь опыта - это путь самый горький. - Конфуций