Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.017 c
14-43866
Verg
2004-02-21 12:43
2004.03.14
Machine Head - это драйв!


3-43398
Причастившийся
2004-02-13 16:40
2004.03.14
O firebird


7-43901
kostyan
2003-12-24 09:17
2004.03.14
Принтер


14-43811
Knight
2004-02-21 23:48
2004.03.14
Матрица по телевизору...


14-43789
arbin
2004-02-18 15:22
2004.03.14
Конкурс на лучшее поздравление к 23 февраля




   Наверх