Дмитрий Хрюстов
Дмитрий Хрюстов

Таймер для OpenScreen() в PureBasic. Как реализовать?

Для обычного окна ( OpenWindow() ) есть таймер, а как реализовать таймер в Экране ( OpenScreen() ). Можно конечно открыть окно вместе с экраном, но это будет выглядеть не очень.

Ир
Ирка

Как понять таймер для OpenScreen() ?

Синтаксис OpenScreen()

Result = OpenScreen(Width, Height, Depth, Title$ [, FlipMode [, RefreshRate])
Описание

Открывает новый экран согласно заданным значениям параметров 'Width', 'Height' и 'Depth'. Открываемый экран создаётся с 2 видеобуферами, чтобы позволить вам реализовать двойную буферизацию, особенно полезно для игр. Буферами можно манипулировать с помощью функции FlipBuffers(). Если экран открыть не удалось, значение Result равно '0'.

Параметры ширины Width и высоты Height должны содержать стандартные комбинации: 640*480, 800*600, 1024*768...

Параметр глубины цвета Depth может принимать следующие значения:
4 : 16 цветов, независимая палитра
8 : 256 цветов, независимая палитра
16: 65000 цветов, фиксированная палитра
24: 16 Mo цветов, фиксированная палитра
32: 16 Mo цветов, быстрее чем 24-битный режимНеобязательный параметр 'FlipMode' позволяет дожидаться или не дожидаться синхронизации экрана перед переключением буферов с помощью функции FlipBuffers() (также известно как 'сигнал вертикальной синхронизации (Vertical blank synchronization)'). Он может иметь одно из следующих значений:
#PB_Screen_NoSynchronization : отключить синхронизацию
#PB_Screen_WaitSynchronization : включить синхронизацию (значение по умолчанию)
#PB_Screen_SmartSynchronization: включить синхронизацию, с отдачей процессорного времени когда программа не потребляет
его полностью (только полноэкранный режим)
Ожидание синхронизации экрана позволяет выполнять переключение буферов идеально (без 'разрывов' или других видимых огрехов) , потому что переключение выполняется когда экран полностью отрисован (или рисуемая область за пределами видимой области экрана) . Также это привязывает процесс переключения к обновлению экрана, например: для экрана с частотой 60 Гц можно делать максимум 60 переключений в секунду, и т. д. .

Для нового экрана можно задать необязательный параметр частоты 'RefreshRate' (в Гц) . Если заданное значение не поддерживается, функция OpenScreen() завершится с ошибкой.
Примечание: в Windows частота обновления может быть жёстко задана драйвером видеокарты, поэтому значение может быть неточным.

Примечание: в Windows параметр 'Title$' будет отображаться на панели задач, так что рекомендуется использовать заголовок, связанный с названием приложения. Функции Requester невозможно использовать с экранами, созданными с помощью функции OpenScreen.

Чтобы открыть экранную область в обычном окне, смотрите описание функции OpenWindowedScreen().
Поддерживаемые ОС

как я понял вам надо чтобы не закрывалось окно ?
если так то используйте цикл так же как и с любым другим окном ))

Похожие вопросы
выключение компа по таймеру
Таймер пробуждения...
Чем PureBasic легче и лутше С#
purebasic как создать програму
Как это реализовано?
Как зделать такой таймер?
Нужно реализовать...
PureBasic беда с написанной программой!!!
Как на PureBasic\Delphi сделать вот такое окошко?
Как создать кнопку и т. д. в PureBasic?