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

Вниз

Timer с DirecxX   Найти похожие ветки 

 
Orc   (2003-08-27 09:25) [0]

Приветствую Мастеров!

Немного ламерский вопрос. Недавно начал постигать DirectX. Смысл такой: делаю меню к игре, DirectDraw не используется по определению (юзаю Direct3D). На задний план выводится фоновая картинка, отслеживается положение мыши и отрисовывается большой графический курсор (как текстура, причём делается это в одной процедуре). Требуется так затормозить вывод меню (меню должно плаааавно выезжать из-за края экрана), чтобы не тормозила отрисовка курсора. Т.е. в теории, наверное, это должно выглядеть так: ставим таймер на 0.5 секунды, если таймер не сработал отрисовываем курсор, если сработал то отрисовываем и курсор и меню + к этому инкрементируем координату для следующего вывода. Одна проблема - не может до меня дойти, как это реализовать на Делфи. Помогите, плиз! Вопрос жизни и смерти! Заранее благодарен за ответы.


 
cyborg ©   (2003-08-27 11:07) [1]

А как стыкуется неиспользование директдрау по определению и таймер?

Таймеры тут вообще не нужны, пункту меню наращиваешь координаты сверху вниз каждый игровой кадр, или каждые 2 кадра, или каждые три кадра, или каждые 4 кадра... продолжать? :)


 
Orc   (2003-08-27 12:35) [2]

2 cyborg:

Тогда встречный вопрос: а на разных по производительности машинах это дело с разной скоростью работать будет? И ещё: как считать игровые кадры?


 
TGrigory ©   (2003-08-27 13:10) [3]

>Тогда встречный вопрос: а на разных по производительности
>машинах это дело с разной скоростью работать будет? И ещё: как
>считать игровые кадры?
Введи переменную и каждый раз увеличивай ее. Примерно так

procedure Timer;
begin
inc(cadr);
//...
//это действия, которые выполняются в каждом кадре
if (cadr mod 2=0) then //действия в четных кадрах
if (cadr mod 3=0) then //действия каждый 3 кадр
//и тд.
end;


 
NailMan ©   (2003-08-27 13:46) [4]

Создай виндовый таймер CreateTimer/KillTimer(последняя функция для поиска если с названием первой я ошибся) на срабатывание скажем каждые 40 мс. В процедуре обработчика прибавляй координату к менюшке. Рендер менюшки и курсора должен быть каждый кадр, тоесть крутиться в цикле.
Собсно усе.


 
Orc   (2003-08-28 07:21) [5]

Большое спасибо всем!



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

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

Наверх




Память: 0.47 MB
Время: 0.085 c
4-43967
Grinder
2004-01-08 17:37
2004.03.14
Потоки на WinApi


3-43298
iKS1
2004-02-12 08:42
2004.03.14
Фильтрация в DBGridEh


14-43813
pasha_golub
2004-02-12 11:39
2004.03.14
Киевская встреча Мастаков aka KMP


14-43791
sancho
2004-02-18 15:56
2004.03.14
Кубик-рубик...


4-43940
prabbit
2004-01-07 21:28
2004.03.14
Не выходит передать нажатие клавиш...