Просмотр "мультика"
Просмотр "мультика"
Теперь рассмотрим, как можно реализовать вывод в диалоговом окне программы простого "мультика", подобного тому, который можно видеть в диалоговом окне Установка связи при подключении к Internet .
Эффект бегущего между телефоном и компьютером красного квадратика достигается за счет того, что в диалоговое окно выводятся сменяющие друг друга картинки.
Кадры мультика обычно находятся в одном файле или в одном ресурсе. Перед началом работы программы они загружаются в буфер, в качестве которого удобно использовать объект типа TBitMap. Задача процедуры, реализующей вывод мультика, состоит в том, чтобы выделить очередной кадр и вывести его в нужное место формы.
Вывести кадр на поверхность формы можно применением метода copyRect к свойству canvas этой формы. Метод CopyRect копирует прямоугольную область одной графической поверхности на другую.
Инструкция применения метода CopyRect в общем виде выглядит так:
Canvas1.CopyRect(Область1, Canvas2, 06ласть2)
где:
- canvas1 — графическая поверхность, на которую выполняется копирование;
- Canvas2 — графическая поверхность, с которой выполняется копирование;
- параметр Область2 —- задает положение и размер копируемой прямоугольной области, а параметр областьi — положение копии на поверхности Canvas1.
В качестве параметров область! и область2 используются структуры типа TRect, поля которых определяют положение и размер области.
Заполнить поля структуры TRect можно при помощи функции Bounds, инструкция обращения к которой в общем виде выглядит так:
Bounds(x,у,Width,Height)
где:
- х и у — координаты левого верхнего угла области;
- width и Height — ширина и высота области.
Следующая программа, текст которой приведен в листинге 10.12, выводит в диалоговое окно простой мультик — дельфийскую колонну, вокруг которой "летает" некоторый объект. На Рисунок 10.19 приведены кадры этого мультика (содержимое файла film.bmp).
Диалоговое окно программы приведено на Рисунок 10.20, оно содержит один единственный компонент — таймер.