- Преподавателю
- Информатика
- Практическая работа на тему: Создание анимации в Lazarus
Практическая работа на тему: Создание анимации в Lazarus
Раздел | Информатика |
Класс | - |
Тип | Другие методич. материалы |
Автор | Карасев А.Д. |
Дата | 17.01.2016 |
Формат | zip |
Изображения | Есть |
Практическая работа.
Тема. Создание простейшей анимации в Lazarus.
Создаем приложение «Бабочка».
Цель:
- научиться создавать простейшую анимацию;
- познакомиться с компонентом Timer и научиться использовать его в своих программах.
Теоретическая часть.
Мы попытаемся создать приложение, имитирующее полет бабочки. Для этого нам понадобятся компоненты Timer(таймер), Panel и Image(Изображение). Компонент Panel находится на вкладке Standard. Компонент Image находится на вкладке Additional и служит для размещения на форме изображений. Остановимся подробнее на компоненте Timer. Он находится на вкладке System. Компонент Timer может выполнять некоторый код через регулярные промежутки времени. Размещённый на форме, он остается невидимым во время работы приложения.
Основным свойством таймера является свойство Interval. Оно определяет (в миллисекундах), как часто наш компонент будет генерировать событие Timer. Например, если мы установим его значение в 1000, то событие Timer будет генерироваться раз с секунду, а если установим в 500 - то 2 раза в секунду. Если же это свойство установить в 0, то событие вообще генерироваться не будет.
Свойство Interval компонента Timer можно задавать во время разработки или во время выполнения программы.
Практическая часть.
Создайте новый проект.
Измените некоторые свойства формы:
Свойство
Значение
Name
FrmAnim
Caption
Анимация
Разместите на форме компонент Panel и четыре компонента Button (см. рис. ниже). Зададим свойства для этих компонентов:
Компонент
Свойство
Значение
Panel1
Color
clSkyBlue
Button1
Name
BtnPlay1
Caption
>
Button2
Name
BtnPlay2
Caption
>>
Button3
Name
BtnBack
Caption
<
Button4
Name
BtnStop
Caption
Stop
Теперь разместите на панели три компонента Image(изображение) и один компонент Timer так, как это показано на рисунке:
Для всех трёх компонентов Image установите свойство Stretch на True, чтобы размер изображения подгонялся под размер компонента. Для компонентов Image1 и Image2 свойство Visible установите на False, т.е. сделаем их невидимыми во время выполнения программы.
Теперь выделите компонент Timer и установите его свойство Interval равным 0, т.е. выключим таймер.
Теперь выделите компонент Image1 и найдите его свойство Picture. Нажмите кнопку с тремя точками и в открывшемся окне «Диалог загрузки изображения» нажмите кнопку «Загрузить». Перейдите в папку с изображениями бабочек и выберите изображение бабочки с расправленными крыльями. То же самое сделайте для компонента Image2, только выберите изображение бабочки со сложенными крыльями. Смотрите рисунок:
Дважды щёлкните по значку таймера и напишите код:
begin
If flag=0 Then
begin
Image3.Picture:=Image1.Picture;
flag:=1;
end
Else
begin
Image3.Picture:=Image2.Picture;
flag:=0;
end;
Image3.;
Image3.;
end;
Теперь дважды щёлкните по кнопке (Play) и напишите код:
Timer1.Interval:=200;
В разделе описания переменных добавьте переменную flag целого типа.
Сохраните проект и запустите приложение. Нажмите кнопку (Play). Посмотрите работу программы и проанализируйте написанный вами код.
Задание. Самостоятельно создайте процедуры для остальных кнопок нашего приложения с учетом следующих требований:
а) кнопка в два раза ускоряет анимацию;
б) кнопка включает обратное воспроизведение;
в) кнопка останавливает анимацию.