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