Медетбекова Р.А., Шыныбекова Ж.Ж.

Южно-Казахстанский государственный университет им. М.Ауезова, Шымкентский университет, Казахстан

Технология внедрения Flash-анимации

в объектно-ориентированной среде

 

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

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

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

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

Рисунок 1 - Палитра компонентов страницы 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 в проект (рис.2).

 

Рисунок 2 - Вид формы Form1

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

·        Stop - останавливает анимацию;

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

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

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

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

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

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

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

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

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

·        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.сom /get /getflashplayer

2.     Д.Франклин, Б.Патон. Macromedia Flash. Анимация в Интернете. –СПб.: Символ Плюс, 2005.