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

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

Использование анимации в Delphi приложении


den_c ©   (2003-06-17 12:30:00) 

Нужно в программе во время каких-то действий отображать анимацию - что-то наподобие вращающегося глобуса в Internet Explorer или вращающегося увеличителя при поиски файлов. Чем лучше воспользоваться? В какую сторону копать? Воспользоваться стандартным компонентом ANIMATE или какими-нибудь компонентами для отображения GIF-анимации или еще чем... Что наименее ресурсоемкое? Кто сталкивался с этим - подскажите какое-нибудь готовое решение.


lats   (2003-08-19 10:55:00) [1]

RXLib компонент RxGIFAnimator. Давно пользуюсь. Хорошая штука. И редакторов Gif предостаточно.


Gozer   (2003-08-19 08:39:00) [2]

TshockWave от Flash"a не пробовал?
Мой Icq 270970908


Sliski Slimak   (2003-06-18 18:37:00) [3]

Можно Flash впихнуть в свою программу, а там уже возможности анимации неограничены.... Подробности на этом сайте, статья Delphi и Flash


Плохой человек   (2003-06-18 16:56:00) [4]

2 Спрашивающий:

Решение в принципе верное, но некрасиво реализовано. Ни в коем случае не надо создавать для каждого кадра по отдельному TImage. Это слишком грузный компонент. Для этого можно завести массивчик, например:


const N = 5;
var Frames: array [1..N] of TPicture;


Это решит многие проблемы с перебором кадров. Например, OnTimer можно будет реализовать вот так:


procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Tag := Timer1.Tag + 1;
If Timer1.Tag > N then Timer1.Tag = 1;
Image1.Picture := Frames[Timer1.Tag];
end;


Я ещё только не уверен, будет ли изображение перерисовываться атвоматически при таком выводе.

Вообще, проще наверное через компонент. Обычно так делается, то загружается в компонент одно изображение, составленное из ряда кадров, указывается количество кадров, а компонент уже сам копирует и показывает требуемый кадр.


Спрашивающий   (2003-06-18 01:59:00) [5]

Самый лучший вариант тебе уже подсказали-написать самому для
анимации пример которой ты привел нужно всего то около пяти
рисунков(Image) с разными вариантами поворота картинки и таймер меняющий эти картинки через определенный интервал, чтоб не быть голословным вот пример созданный за 1 минуту:
Положи на форму 3 Image, 2й и 3й из которых сделай Visible:=False;
и загрузи в них разные картинки а в 1ом увидишь ту самую анимацию.
procedure TForm1.Timer1Timer(Sender: TObject);
begin
If Image1.Tag=1 Then
begin
Image1.Picture:=Image2.Picture;
Image1.Tag:=0;
end
Else
begin
Image1.Picture:=Image3.Picture;
Image1.Tag:=1;
end;
end;


den_c   (2003-06-17 22:07:00) [6]

На www.torry.net я залазил - там действительно много всего, аж глаза разбегаются. Вот только не знаю что выбрать... нет опыта использования.


jel   (2003-06-17 14:05:00) [7]

Стандартный tAnimate прост, но безобразно мерцает. Можно порыться на torry и найти там кучу подходящих компонентов, а лучше всего - напиши сам - нужна-то всего пара строчек кода в onTimer.


Denwill   (2003-06-17 13:58:00) [8]

Если устроит можешь попробовать TGifImage. www.torry.net


Наверх

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