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

Вниз

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

 
Orc   (2003-09-13 18:09) [0]

Привет, Мастера!

Вопрос такой: не подскажите алгоритм (или исходник :)) такого действа: есть фоновая анимация, в виде внешнего файла. Как сделать так, чтобы эта анимация проигрывалась на фоне основного действия, т.е. не была от основного действия зависима? Юзаю Direct3D, в частности D3DXCreateSprite, т.е. гружу текстуры, а затем использую их как спрайты.


 
cyborg ©   (2003-09-13 19:54) [1]

По таймеру или ещё как нибудь, делай изменения параметров вывода фона, т.е. просто присваиваешь определённой переменной какой кадр данного анимируемого объекта. А в части отрисовки рисуешь смотря на эти переменные.


 
Orc   (2003-09-13 21:30) [2]

Дурацкий вопрос: а таймер как организовать? Например, можно как-нить написать процедурку, чтобы в свой result выдавала true каждые N милисекунд (в другое время выдавала false)? Я щас просто инкрементирую счётчик и каждый, например второй кадр, произвожу анимацию. А мне надо, чтобы это дело зависело от времени, а не от счётчика, который на разных машинах могет быть разный.


 
TButton ©   (2003-09-13 22:49) [3]

onIDLE
GetTicCount
while getTicCount-lastTic<timestamp do sleep(0)


 
Orc   (2003-09-14 00:05) [4]

Спасибо, помогло :)


 
pasha_676 ©   (2003-09-17 10:23) [5]


> onIDLE
> GetTicCount
> while getTicCount-lastTic<timestamp do sleep(0)

Какой странный и вообщем-то порочный путь. Может все же воспользоваться тайером? Если не виндовым на АПИ (что в данном случае пожалуй предпочтительней), то хотя бы TTimer.


 
Asteroid ©   (2003-09-18 15:16) [6]

> pasha_676 ©   (17.09.03 10:23) [5]

Почему же порочный? Имхо, таймер через сообщения здесь неприемлим.


 
pasha_676 ©   (2003-09-18 15:46) [7]


> Почему же порочный? Имхо, таймер через сообщения здесь неприемлим.


таймеры везде приемлимы ;) Особенно в функции типа процедурку, чтобы в свой result выдавала true каждые N милисекунд (в другое время выдавала false

Делать ее через While и sleep не очень то хорошо, имхо.

Другое дело что TTimer на 1 ms это конечно плохо. Но условие задачи -
> фоновая анимация, в виде внешнего файла. Как сделать так,
> чтобы эта анимация проигрывалась на фоне основного действия,
> т.е. не была от основного действия зависима?

Т.е. ориентировочно один кадр должен меняться в 40 мс или даже реже. А это уже таймер. А никак не в идле вайлы ставить.



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

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

Наверх





Память: 0.46 MB
Время: 0.031 c
14-1078767251
YurikGl
2004-03-08 20:34
2004.04.04
Глюки Винампа


1-1079588019
Лысый
2004-03-18 08:33
2004.04.04
QuickReport


3-1078378919
Юстос
2004-03-04 08:41
2004.04.04
Подключение к MySQL


6-1074157516
Dennis S
2004-01-15 12:05
2004.04.04
Как узнать скорость входящего трафика в Локальной сети?


1-1079592342
Андрей из Иркустка
2004-03-18 09:45
2004.04.04
Двумерный открытый массив в качестве параметра в TP 7.0





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский