![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Логическая струкура игрового движка [Delphi, Windows]
K.o.Z © (2003-08-20 19:24:00)
Хотет бы узнать вае мнение, а то я уже голову сломал, но так оптимального ничего не придумал.....
Расчитывайте на OpenGL
K .o.Z (2003-08-27 20:02:00) [1]
пардон, не туда написал...
K .o.Z (2003-08-27 20:01:00) [2]
а что же делать в OpenGL???
Всеволод Соловьёв (2003-08-26 14:32:00) [3]
гммм... после каждой отрисовки заноси в счетчик (q) значение GetTickCount. А перед отрисовкой fps:=ChastotaProca/(GetTickCount - q).
K.o.Z (2003-08-25 15:02:00) [4]
ну в принципе я так и делаю...
а как мне узнать кол-во fps?
cyborg (2003-08-23 10:51:00) [5]
Program SuperPuperGame;
Uses ...
Var
...
Quit : Boolean = false;
Procedure ProcessKeys; //Нажатие клавишь
begin
end;
Procedure ProcessObject; //Обработка объектов
begin
end;
Procedure Render; //Вывод на экран
begin
end;
BEGIN
...
Repeat
ProcessKeys;
ProcessObject;
Render;
Sleep(Time); //Или другая функция
Until Quit;
...
END;
Ev_genus (2003-08-23 01:53:00) [6]
2 K.o.Z
а можна я скажу?
>> как оранизовать этот цикл, тобишь где он должен происходить?
забиваеш на сообщения и просто в теле основной программы делаеш вечный цикл. И управления через директинпут.
>>как часто обновлять экран? сейчас я это делаю постоянно - при отсутствии сообщений от системы...
постоянно - после каждого рендеринга кадра
K.o.Z (2003-08-22 19:26:00) [7]
2 cyborg © (20.08.03 21:07) [1]
>> Три блока выполняются в цикле:
как оранизовать этот цикл, тобишь где он должен происходить?
как часто обновлять экран? сейчас я это делаю постоянно - при отсутствии сообщений от системы...
пишу полность на Win API + OpenGL
cyborg (2003-08-21 13:32:00) [8]
Зато их много :).
Ev_genus (2003-08-21 00:10:00) [9]
>cyborg
крутой фпс :) ага, и половина кадров одинаковая.
cyborg (2003-08-20 21:09:00) [10]
Третий пункт можно сделать отдельно, в другом потоке или таймере. Чтобы у тебя был "крутой" FPS.
cyborg (2003-08-20 21:07:00) [11]
В смысле?
//Расчитывайте на OpenGL
Это ты предлагаешь? :)
Три блока выполняются в цикле:
1) Обработка нажатий клавишь.
2) Обработка объектов.
3) Рендерер.
В обработке объектов делаешь:
Движение, анимацию, проверки на:столкновения, жизни, нажатые клавиши для игрока и интерфейса,добавление и убирание объектов, звуки.