- Учителю
- Монтаж видео, настройка звуковых эффектов, анимация и визуальные эффекты, вывод видео.
Монтаж видео, настройка звуковых эффектов, анимация и визуальные эффекты, вывод видео.
2г полынцева убрать 1ю неделю
Лобанова
Улькна Виктория
639 573
Назрактп
Дата:___________ Класс:_____________
Тема урока: «Анимация и мультимедиа»
Цель урока: изучить компоненты и разработать программу «Линейное движение объекта по однородному фону»
Задачи:
-
Рассмотреть возможности среды программирования для создания моделей физических процессов и явлений.
-
Изучить принципы организации программы с использованием компонента TTimer для реализации эффектов движения.
План урока
-
Организационный момент
-
Актуализация знаний
-
Объяснение нового материала
-
Практическая работа
-
Рефлексия
-
Домашнее задание
-
Итог урока
Ход урока
-
Организационный момент. Приветствие. Отметить отсутствующих в классе.
-
Актуализация знаний. Вопросы на повторение (Label, Edit, Button, Shape, Timer)
-
Объяснение нового материала.
Линейное движение по однородному фону является довольно простым в плане программной реализации. Достаточно закрашивать объект цветом фона, изменять его координаты и прорисовывать в новом месте, повторяя эти действия через определенный интервал времени.
Для реализации анимации, помимо двух компонентов TPaintBox (поле для рисования) и TButton (кнопка запуска), понадобится компонент TTimer со вкладки System. Компонент Timer имеет единственное событие OnTimer, которое выполняется пока Timer включен с интервалом по времени, установленным в свойстве Interval.
Расположите компонент Timer1 на форме. Установите его свойства Timer1.Interval := 100 и Timer1.Enabled := false
В коде программы необходимо прописать три процедуры (см. урок "Процедуры и функции при построении изображений</<font color="#000000">"). Процедуру отрисовки объекта procedure TForm1.Cloud, процедуру, отрабатывающую на событие OnTimer, - procedure TForm1.Timer1Timer и процедуру запуска анимации, срабатывающую на нажатие кнопки, procedure TForm1.Button1Click.
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Buttons,
ExtCtrls, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
PaintBox1: TPaintBox;
Timer1: TTimer;
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ private declarations }
// координаты прорисовки объекта. Доступны всем процедурам класса TForm1
x1, y1 : Integer;
public
{ public declarations }
// процедура прорисовки облака
procedure Cloud (x, y: Integer; ColorCloud: TColor);
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Cloud(x, y: Integer; ColorCloud: TColor);
begin
// прорисовка облака из двух эллипсов
with PaintBox1.Canvas do begin
Pen.Style := psClear;
Brush.Color := ColorCloud;
Ellipse(x,y,x+80,y+40);
Ellipse(x+30,y+10,x+100,y+50);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
// установка начальных значений
x1:=0;
y1:=50;
Timer1.Interval:=100;
// прорисовка картинки по которой двигается объект
PaintBox1.Canvas.Brush.Color := clBlue;
PaintBox1.Canvas.Rectangle(0,0, PaintBox1.Width, PaintBox1.Height);
// Включение таймера - запуск анимации
Timer1.Enabled := true;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
// Закраска объекта цветом фона
Cloud(x1,y1,clBlue);
// Изменение координат прорисовки
x1:=x1+1;
// Прорисовка объекта в новом месте
Cloud(x1,y1,clWhite);
end;
end.
-
Рефлексия. Какие компоненты мы сегодня повторили? Что у нас получилось? Что вызвало затруднение? -я уже знал, -я узнал, -мне было интересно на урке.
-
Домашнее задание. §20 читать, задание стр. 101
-
Итог урока. Выставление оценок
Практическая работа «Линейное движение объекта по однородному фону»
Расположите компонент Timer1 на форме.
Установите его свойства Timer1.Interval := 100 и Timer1.Enabled := false
В коде программы необходимо прописать три процедуры. Процедуру отрисовки объекта procedure TForm1.Cloud, процедуру, отрабатывающую на событие OnTimer, - procedure TForm1.Timer1Timer и процедуру запуска анимации, срабатывающую на нажатие кнопки, procedure TForm1.Button1Click.
procedure TForm1.Cloud(x, y: Integer; ColorCloud: TColor);
begin
// прорисовка облака из двух эллипсов
with PaintBox1.Canvas do begin
Pen.Style := psClear;
Brush.Color := ColorCloud;
Ellipse(x,y,x+80,y+40);
Ellipse(x+30,y+10,x+100,y+50);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
// установка начальных значений
x1:=0;
y1:=50;
Timer1.Interval:=100;
// прорисовка картинки по которой двигается объект
PaintBox1.Canvas.Brush.Color := clBlue;
PaintBox1.Canvas.Rectangle(0,0, PaintBox1.Width, PaintBox1.Height);
// Включение таймера - запуск анимации
Timer1.Enabled := true;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
// Закраска объекта цветом фона
Cloud(x1,y1,clBlue);
// Изменение координат прорисовки
x1:=x1+1;
// Прорисовка объекта в новом месте
Cloud(x1,y1,clWhite);
end;
end.
Практическая работа «Линейное движение объекта по однородному фону»
Расположите компонент Timer1 на форме.
Установите его свойства Timer1.Interval := 100 и Timer1.Enabled := false
В коде программы необходимо прописать три процедуры. Процедуру отрисовки объекта procedure TForm1.Cloud, процедуру, отрабатывающую на событие OnTimer, - procedure TForm1.Timer1Timer и процедуру запуска анимации, срабатывающую на нажатие кнопки, procedure TForm1.Button1Click.
procedure TForm1.Cloud(x, y: Integer; ColorCloud: TColor);
begin
// прорисовка облака из двух эллипсов
with PaintBox1.Canvas do begin
Pen.Style := psClear;
Brush.Color := ColorCloud;
Ellipse(x,y,x+80,y+40);
Ellipse(x+30,y+10,x+100,y+50);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
// установка начальных значений
x1:=0;
y1:=50;
Timer1.Interval:=100;
// прорисовка картинки по которой двигается объект
PaintBox1.Canvas.Brush.Color := clBlue;
PaintBox1.Canvas.Rectangle(0,0, PaintBox1.Width, PaintBox1.Height);
// Включение таймера - запуск анимации
Timer1.Enabled := true;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
// Закраска объекта цветом фона
Cloud(x1,y1,clBlue);
// Изменение координат прорисовки
x1:=x1+1;
// Прорисовка объекта в новом месте
Cloud(x1,y1,clWhite);
end;
end.