IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Графика, отрисовка, клавиатура, Как совместить непрерывность отрисовки с управлением с клавиатуры?
сообщение
Сообщение #1


меркантильный
***

Группа: Пользователи
Сообщений: 161
Пол: Мужской

Репутация: -  6  +


Есть программа, делающа непрерывную отрисовку
с помощью repeat. Если используется структура

....
repeat
....
until Keypressed;


на экраине идет непрерывная отрисовка,
до нажатия любой клавиши.
Но если поменять на

....
repeat
....
until Readkey='q';


Программа выходит по нажатию
клавиши q, но работает только
при нежатии любой другой клавиши(нажал и не отпускаешь).
Как совместить непрерывность отрисовки с управлением с клавиатуры?


--------------------
Смысл откроется тебе. Красками играя
Жизнь предстанет как поток без конца и края.


В этом мире порой разбиваютсямечты
Но чтобы он стал другой Вдруг в него приходишь ТЫ...

После странствий и скитаний настают другие времена.
Старая волна уходит и приходит новая волна.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


readkey ждет нажатия клавиши, поэтому работа программы приостанавливается.
Проще всего организовать примерно так:

repeat
ch := #0; // забываем предшествующее состояние
if keypressed then begin
ch := readkey;
case ch of
... // обработка нужных клавиш - изменение состояния
end; //case
end;
DrawScreen; // отрисовка нового состояния с учетом нажатых клавиш и прошедшего времени
until (ch = 'q') or (ch = 'Q'); // заботимся, чтобы работа программы не зависела от состояния Caps Lock



Сообщение отредактировано: andriano -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.04.2024 16:49
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name