Главный цикл29.01.99 СтандартныйСтандартный способ перерисовки окна — это послать окну сообщение, чтобы окно, в ответ на это сообщение, перерисовало себя. Когда программа посылает окну сообщение, в дело вступает Windows. Windows может поговорить сама с собой, сделать пока что-нибудь, решить, что сейчас окно в перерисовке не нуждается, и отложить сообщение... ИгровойВ играх все не так. Игра не может ждать систему. Конечно, игра должна давать Windows перерисовать заголовок окна, если его чем-нибудь загородили... дать возможность пользователю закрыть окно... Но игра не должна ждать Windows, пока та передаст сообщение о перерисовке. Так что игры не передают Windows сообщение о необходимой перерисовке. Просто перерисовывают когда захотят, а потом дают Windows обработать свои сообщения. Вот — процедура, которая дает Windows обработать сообщения. Она возвращает false, если наткнется на сообщение о том, что программа должна завершиться.
Вот — главный цикл программы, который обычно используют игры.
Главный цикл немного упрощен, поскольку программа пока не использует устройств ввода — клавиатуру, мышь, сеть. Когда это добавится в программу, я перепишу главный цикл. ПримерТам почти ничего нет — просто каркас: инициализация/деинициализация и начало/конец рендеринга. Но если его запустить... если запустить — получится темное окно! Следующая страница: Цветной треугольник (c) 2000 Константин Михеев — проект "Elfish Engine" |