Медетбекова Р.А., Шыныбекова Ж.Ж.
Южно-Казахстанский государственный университет им.
М.Ауезова, Шымкентский университет, Казахстан
Технология внедрения 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.