Монтаж видео, настройка звуковых эффектов, анимация и визуальные эффекты, вывод видео.


2г полынцева убрать 1ю неделю
Лобанова
Улькна Виктория
639 573
НазрактпДата:___________ Класс:_____________
Тема урока: «Анимация и мультимедиа»
Цель урока: изучить компоненты и разработать программу «Линейное движение объекта по однородному фону»
Задачи:
Рассмотреть возможности среды программирования для создания моделей физических процессов и явлений.
Изучить принципы организации программы с использованием компонента TTimer для реализации эффектов движения.
План урока
Организационный момент
Актуализация знаний
Объяснение нового материала
Практическая работа
Рефлексия
Домашнее задание
Итог урока
Ход урока
Организационный момент. Приветствие. Отметить отсутствующих в классе.
Актуализация знаний. Вопросы на повторение (Label, Edit, Button, Shape, Timer)
Объяснение нового материала.
Линейное движение по однородному фону является довольно простым в плане программной реализации. Достаточно закрашивать объект цветом фона, изменять его координаты и прорисовывать в новом месте, повторяя эти действия через определенный интервал времени.
Для реализации анимации, помимо двух  компонентов TPaintBox (поле для рисования) и TButton (кнопка запуска), понадобится компонент TTimer со вкладки System. Компонент Timer имеет единственное событие OnTimer, которое выполняется пока Timer включен с интервалом по времени, установленным в свойстве Interval.
224790604520Расположите компонент Timer1 на форме. Установите его свойства Timer1.Interval := 100 и Timer1.Enabled := falseВ коде программы необходимо прописать три процедуры (см. урок "Процедуры и функции при построении изображений"). Процедуру отрисовки объекта 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-381046990
В коде программы необходимо прописать три процедуры. Процедуру отрисовки объекта 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);
3596640101600begin // Закраска объекта цветом фона
Cloud(x1,y1,clBlue);
// Изменение координат прорисовки
x1:=x1+1;
// Прорисовка объекта в новом месте
Cloud(x1,y1,clWhite);
end;
 
end.
Практическая работа «Линейное движение объекта по однородному фону»
Расположите компонент Timer1 на форме.
Установите его свойства Timer1.Interval := 100 и Timer1.Enabled := false-381046990
В коде программы необходимо прописать три процедуры. Процедуру отрисовки объекта 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;
 
3587115158115procedure TForm1.Timer1Timer(Sender: TObject);
begin // Закраска объекта цветом фона
Cloud(x1,y1,clBlue);
// Изменение координат прорисовки
x1:=x1+1;
// Прорисовка объекта в новом месте
Cloud(x1,y1,clWhite);
end;
 
end.