![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Фоновая анимация [Delphi, Windows]
Orc © (2003-09-13 18:09:00)Привет, Мастера!
Вопрос такой: не подскажите алгоритм (или исходник :)) такого действа: есть фоновая анимация, в виде внешнего файла. Как сделать так, чтобы эта анимация проигрывалась на фоне основного действия, т.е. не была от основного действия зависима? Юзаю Direct3D, в частности D3DXCreateSprite, т.е. гружу текстуры, а затем использую их как спрайты.
pasha_676 (2003-09-18 15:46:00) [1]
> Почему же порочный? Имхо, таймер через сообщения здесь неприемлим.
таймеры везде приемлимы ;) Особенно в функции типа процедурку, чтобы в свой result выдавала true каждые N милисекунд (в другое время выдавала false
Делать ее через While и sleep не очень то хорошо, имхо.
Другое дело что TTimer на 1 ms это конечно плохо. Но условие задачи -
> фоновая анимация, в виде внешнего файла. Как сделать так,
> чтобы эта анимация проигрывалась на фоне основного действия,
> т.е. не была от основного действия зависима?
Т.е. ориентировочно один кадр должен меняться в 40 мс или даже реже. А это уже таймер. А никак не в идле вайлы ставить.
Asteroid (2003-09-18 15:16:00) [2]> pasha_676 © (17.09.03 10:23) [5]
Почему же порочный? Имхо, таймер через сообщения здесь неприемлим.
pasha_676 (2003-09-17 10:23:00) [3]
> onIDLE
> GetTicCount
> while getTicCount-lastTic<timestamp do sleep(0)
Какой странный и вообщем-то порочный путь. Может все же воспользоваться тайером? Если не виндовым на АПИ (что в данном случае пожалуй предпочтительней), то хотя бы TTimer.
Orc (2003-09-14 00:05:00) [4]Спасибо, помогло :)
TButton (2003-09-13 22:49:00) [5]onIDLE
GetTicCount
while getTicCount-lastTic<timestamp do sleep(0)
Orc (2003-09-13 21:30:00) [6]Дурацкий вопрос: а таймер как организовать? Например, можно как-нить написать процедурку, чтобы в свой result выдавала true каждые N милисекунд (в другое время выдавала false)? Я щас просто инкрементирую счётчик и каждый, например второй кадр, произвожу анимацию. А мне надо, чтобы это дело зависело от времени, а не от счётчика, который на разных машинах могет быть разный.
cyborg (2003-09-13 19:54:00) [7]По таймеру или ещё как нибудь, делай изменения параметров вывода фона, т.е. просто присваиваешь определённой переменной какой кадр данного анимируемого объекта. А в части отрисовки рисуешь смотря на эти переменные.