Ибрагимов У.М., Утегенова А.А.  

Южно-Казахстанский Государственный Университет, Казахстан

Технология внедрения Flash-анимации при разработке

виртуальной лаборатории

 

Постановка задачи. При разработке виртуальной лаборатории в среде Borland Delphi, направленной для показа опытов по физическим процессам в качестве наглядного пособия используется Flash-анимации. Чтобы использовать Flash-анимацию в программе, необходимо установить компонент ActiveX в среду Borland Delphi .

Установка компонента ActiveX. Чтобы использовать в виртуальной лаборатории Flash-анимацию, необходимо импортировать компонент ActiveX для Flash. Для этого мы используем библиотеки Flash.ocx. или SWFlash.ocx. Эта библиотека автоматически устанавливается в операционную систему при установке пакета Macromedia Flash. Последнюю версию Flash проигрывателя можно скачать бесплатно с сайта корпорации Мacromedia [1].

Чтобы установить компонент, запустим Borland Delphi. Зайдем в главное меню и откроем окно Component → Import ActiveX Control. И для того, чтобы установить компонент в палитре Active X, ни в коем случае нельзя изменять поле Palette page в диалоговом окне Import ActiveX. Если выбрать из списка диалогового окна Shockwave Flash, то появиться кнопки команд. Из них  нужно выбрать кнопку Install и выполнить запрос появившегося окна. Также, не изменяя значения поля File name, нажать на кнопку ОК. В результате появится запрос на переустановки пакеджа dciusr.bpl и после подтверждения информационного сообщения на странице ActiveX палитры компонентов образуется новый компонент (рис 2).

Проигрывание Flash-анимации. Создаём новый проект на Borland Delphi. Из страницы ActiveX палитры компонентов выбираем компонент Shockwave Flash и помещаем на форму Form1. Изменяем значения свойства компонента при помощи Object Inspector. Заносим в поле ShockwaveFlash1.Loop и ShockwaveFlash1.Playing значения true. Затем вводим полное имя используемой Flash-анимации (файл с расширением .swf) в поле movie URL.

Рис.2 – Палитра компонентов страницы ActiveX

Обычно, файл Flash-анимации располагается на текущей папке с компилированным exe-файлом, и поэтому лучше изменять свойства компонента  Shockwave Flash программном виде:

procedure TForm1.FormCreate(Sender: TObject);

begin

ShockwaveFlash1.Movie := ExtractFilePath(Application.ExeName)

+ 'anim1.swf';

end;

Таким образом, мы внедрили в проект Flash-анимацию. Чтобы посмотреть анимацию, нажимаем F9 или выполняем команду Run из главного меню. В окне проекта должен выполнятся действия Flash-анимации. Если в окне появляется белый квадрат, то значит, что свойство ShockwaveFlash1.Movie неправильно установлено.

Управление Flash-анимацией. Чтобы установить кнопки управления Flash-анимацией в проект, из страницы Standard палитры компонентов выбираем компонент Button и помещаем на форму Form1. И затем изменяем значения свойства компонента при помощи Object Inspector. Например, чтобы изменить название компонента, вместо слова Button1 в поле Caption пишем Play, а чтобы внедрить необходимый шрифт, вводим в поле Font шрифт Times New Roman с единицей измерения. Аналогично установим кнопки Stop, Back, Forward, Rewind в проект (рис.3).

Рис.2 – Вид формы Form1

Кнопки Play, Stop, Back, Forward, Rewind вызывают одноименные методы ShockwaveFlash1:

·        Stop –останавливает анимацию,

·        Play – выполняет анимацию,

·        Back – переход на предыдущий фрэйм,

·        Forward – переход на следующий фрэйм,

·        Rewind – перезагрузка анимации.

В программе на фрэймы можно внедрить другие анимации. Количество используемых анимации неограничено. В программе использованы следующие методы [2]:

·        ShockwaveFlash1.Totalопределяет общее количество фреймов в Flash-анимации;

·        ShockwaveFlash1.IsPlayingопределяет, проигрывается ли в текущий момент Flash-анимация;

·        ShockwaveFlash1.CurrentFrame – определяет номер текущего фрэйма.

При помощью события Delphi можно управлять Flash-анимацией, а наоборот, управлять Delphi из Flash-анимации, нет. В программе проекта мы использовали следующие процедуры [3]:

·        procedure TForm1.ShowCurFrame(); // Показать номер текущего фрейма

·        procedure TForm1.Button2Click(Sender: TObject); // Остановить анимацию

·        procedure TForm1.Button3Click(Sender: TObject); // Выполнить текущую анимацию

·        procedure TForm1.Button4Click(Sender: TObject); // Остановить анимацию и переход на предыдущий фрэйм

·        procedure TForm1.Button5Click(Sender: TObject); // Остановить анимацию и переход на следующий фрэйм

·        procedure TForm1.Button6Click(Sender: TObject); // Остановить анимацию и переход на исходный фрэйм

Заключение. Возможности использования Flash-анимации в среде Borland Delphi не ограничиваются теми инструментами, которые рассматривались в статье. В частности, существует ряд методов, позволяющих работать с отдельными частями, а не со всей анимацией в целом. Это может дать уникальные возможности по программному управлению Flash-анимации в ходе его выполнения.

Литература:

1.     www.macromedia.com/get flash player

2.     C:\Program Files\Borland\Delphi 7\Imports\ShockwaveFlash Objects_TLB.pas

3.     Ибрагимов У.М., Утегенова А.А. Виртуал лаборатория құруда Flash-анимацияны пайдалану технологиясы // «Білім, ғылым және өнд. өзекті мәселелері» хал. ғыл.-әдіст. конф. еңб. –Шымкент, 2007. Том I. Б.160-164.