Главная страница
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.03 c
1-43626
Builder
2004-03-03 20:00
2004.03.14
TTimer


14-43790
arbin
2004-02-18 15:21
2004.03.14
Веселые вещи происходят у нас.


14-43892
vic_vm
2004-02-18 18:02
2004.03.14
Delphi и ISOLATION_AWARE_ENABLED


3-43342
Алексей Петухов
2004-02-16 07:27
2004.03.14
как сохранить файл в БД MS SQL Server?


1-43567
Petrovich
2004-02-26 16:38
2004.03.14
Как отловить принудительное завершение своего приложения?