Анимация в Паскале, Дык, помогите. |
Анимация в Паскале, Дык, помогите. |
LHx |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: 0 |
Я хочу сделать в игрухе постоянно (часто) обновляемый экран. Для этого меняю страницы. Изображение мелькает, раздваивается, а местами вообще исчезает. Как быть? (мне бы с игрухой до осени управиться, а то в башке засела - не вышибешь. Как заноза. ПОМОГИТЕ.)
-------------------- Если отладка - процесс удаления ошибок из программы, то программирование должно быть процессом их внесения.
|
BlackShadow |
Сообщение
#2
|
Гость |
Объясняю.
Есть несколько очаровательнвх режимов, которые хранят изображение в видео буфере легко и просто - под пиксель по n бит. Есть режимы с "извратом" - там память "слоиться" и приносит кучу гемороя. Под "удобные" режимы можно организовать много-много видеостраниц следующим образом: 1). Выделяешь достаточный кусок памяти и говоришь (себе), что он теперь видеостраница. 2). Рисуешь чего-то прямо в нём, а не на экране. 3). Ждёшь обратного хода луча. 4). Процедуркой типа MOV ECX,BUF_SIZE SHL 2 или же под 16 бит: MOV CX,BUF_SIZE SHL 1 , но тут надо проверить, чтобы размер буфера был менее 128K. Вот таким вот макаром и подставляешь свою "страничку" на место оригинальной. Плюс: ты всегда работаешь с одними и теми же адресами. Минус: аппаратное перекидывание страниц всё-таки пошустрее (хотя это и не заметно). Резюме: при грамотном подходе у любого режима есть "BackBuffer". З. Ы. : спасибо Oleg_Z за то, что подсказал, как оформить концовку поста |
Текстовая версия | 3.05.2024 19:47 |