Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Псевдо анимация [Delphi, Opengl, Windows]


Novouralsk ©   (2005-08-01 17:56:00) 

Привет, всем!
Скажите пожалуйста как менять текстуры по нажатию клавиши без использования таймера.
Я делаю это вот так:
...
for i := 0 to 7 do
LoadTexture('texture'+inttostr(i)+'.bmp', texcount[i], FALSE);
...
if (keys[ord('S')]or keys[ord('s')]) then
 begin
    i := i + 1;
    if i >=7 then i:=0;
 end;
...
Но текстуры переключаютя очень быстро и всё мерцает.Это очень не красиво.
Скажите как сделать перключение текстуры раз в пол секунды.


Novouralsk   (2005-08-01 21:39:00) [1]

Спасиб!


Зм1й   (2005-08-01 21:35:00) [2]

//OnCreate
LastTime:=GetTickCount;

...

ThisTime:=GetTickCount;
if ThisTime-LastTime>500 then begin

if (keys[ord('S')]or keys[ord('s')]) then
begin
   i := i + 1;
   if i >=7 then i:=0;
end;

LastTime:=GetTickCount;
end;


A22   (2005-08-01 19:00:00) [3]

заведи переменную, куда записывай значение GetTickCount() при смене текстуры. условием же смены текстуры кроме нажатия кнопок поставь еще и чтобы текущий GetTickCount() был больше сохраненного во время прошлой "смены" на нужное кол-во миллисекунд.


Novouralsk   (2005-08-01 18:52:00) [4]

можно чуть чуть по подробнее


Zer0   (2005-08-01 18:45:00) [5]

Sleep(время_задержки_в_милисекундах) поможет отцу русской демократии =)

The Sleep function suspends the execution of the current thread for a specified interval.


Novouralsk   (2005-08-01 18:03:00) [6]

Я сам нарисовал квадрат, загрузил текстуру на него и прудумал этот "уникальный" алгоритм смены текстур


A22   (2005-08-01 17:58:00) [7]

реши же хоть одну задачу сам, пожалуйста, пожалуйста, пожалуйста!


Наверх

Титульная страница Поиск, карта сайта Написать письмо