Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.14;
Скачать: CL | DM;

Вниз

Логическая струкура игрового движка   Найти похожие ветки 

 
K.o.Z ©   (2003-08-20 19:24) [0]

Хотет бы узнать вае мнение, а то я уже голову сломал, но так оптимального ничего не придумал.....
Расчитывайте на OpenGL


 
cyborg ©   (2003-08-20 21:07) [1]

В смысле?
//Расчитывайте на OpenGL
Это ты предлагаешь? :)

Три блока выполняются в цикле:
1) Обработка нажатий клавишь.
2) Обработка объектов.
3) Рендерер.

В обработке объектов делаешь:
Движение, анимацию, проверки на:столкновения, жизни, нажатые клавиши для игрока и интерфейса,добавление и убирание объектов, звуки.


 
cyborg ©   (2003-08-20 21:09) [2]

Третий пункт можно сделать отдельно, в другом потоке или таймере. Чтобы у тебя был "крутой" FPS.


 
Ev_genus   (2003-08-21 00:10) [3]

>cyborg
крутой фпс :) ага, и половина кадров одинаковая.


 
cyborg ©   (2003-08-21 13:32) [4]

Зато их много :).


 
K.o.Z ©   (2003-08-22 19:26) [5]

2 cyborg © (20.08.03 21:07) [1]
>> Три блока выполняются в цикле:
как оранизовать этот цикл, тобишь где он должен происходить?

как часто обновлять экран? сейчас я это делаю постоянно - при отсутствии сообщений от системы...

пишу полность на Win API + OpenGL


 
Ev_genus   (2003-08-23 01:53) [6]

2 K.o.Z
а можна я скажу?
>> как оранизовать этот цикл, тобишь где он должен происходить?
забиваеш на сообщения и просто в теле основной программы делаеш вечный цикл. И управления через директинпут.

>>как часто обновлять экран? сейчас я это делаю постоянно - при отсутствии сообщений от системы...
постоянно - после каждого рендеринга кадра


 
cyborg ©   (2003-08-23 10:51) [7]


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;


 
K.o.Z ©   (2003-08-25 15:02) [8]

ну в принципе я так и делаю...
а как мне узнать кол-во fps?


 
Всеволод Соловьёв ©   (2003-08-26 14:32) [9]

гммм... после каждой отрисовки заноси в счетчик (q) значение GetTickCount. А перед отрисовкой fps:=ChastotaProca/(GetTickCount - q).


 
K .o.Z   (2003-08-27 20:01) [10]

а что же делать в OpenGL???


 
K .o.Z   (2003-08-27 20:02) [11]

пардон, не туда написал...



Страницы: 1 вся ветка

Текущий архив: 2004.03.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.02 c
3-43382
Yermek
2004-01-25 21:58
2004.03.14
Paradox в сети


3-43246
SM
2004-02-18 16:43
2004.03.14
Как в IB в таблице или просмотре создать Lookup поле


3-43363
AZ
2004-02-12 16:02
2004.03.14
Доступ к защищенной БД


1-43545
my4ga
2004-02-27 15:30
2004.03.14
звук


1-43456
Помогите
2004-03-01 00:39
2004.03.14
Перерисовка