Форум: "Игры";
Текущий архив: 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