Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];

Вниз

Псевдо анимация   Найти похожие ветки 

 
Novouralsk   (2005-08-01 17:56) [0]

Привет, всем!
Скажите пожалуйста как менять текстуры по нажатию клавиши без использования таймера.
Я делаю это вот так:
...
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;
...
Но текстуры переключаютя очень быстро и всё мерцает.Это очень не красиво.
Скажите как сделать перключение текстуры раз в пол секунды.


 
A22 ©   (2005-08-01 17:58) [1]

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


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

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


 
Zer0 ©   (2005-08-01 18:45) [3]

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

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


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

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


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

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


 
Зм1й ©   (2005-08-01 21:35) [6]

//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;


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

Спасиб!



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

Форум: "Игры";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.015 c
11-1110739823
Владимир Кладов
2005-03-13 21:50
2006.01.15
версия 2.08


10-1111376309
msgipss
2005-03-21 06:38
2006.01.15
локальная служба и локальный сервер в dcomcnfg - что это значит?


3-1132433132
Sword
2005-11-19 23:45
2006.01.15
Interbase не добавляет поле с пустой записью


3-1131993856
Serg1981
2005-11-14 21:44
2006.01.15
Добавление поля в БД


14-1134710721
begin...end
2005-12-16 08:25
2006.01.15
С Днём рождения! 16 декабря





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский