Урок 41 Інформатика (АП)
Можливості та властивості компонентів для реалізації мультимедійних можливостей мови програмування(анімація)
Мета.
Навчальна. Навчитися використовувати можливості та властивості компонентів для реалізації мультимедійних можливостей мови програмування(анімація); створювати анімацію до об’єктів.
Розвиваюча. Розвивати логічне мислення, самостійність, вміння застосовувати набуті знання до практичних завдань.
Виховна. Виховувати наполегливість, естетичність у оформленні, грамотно висловлювати свої думки, вміння раціонально використовувати час.
Тип уроку. Засвоєння нових знань і навичок.
Матеріали для роботи з учнями:
http://nabasice.narod.ru/index/0-17
http://www.youtube.com/watch?v=S7UHg1mF6Rw
http://school4-golovko.narod.ru/kopilka/ovseenko_1.htm
http://festival.1september.ru/articles/603812/
http://wap.studactive.borda.ru/?1-1-0-00000032-000-0-0
Робота з діловою графікою засобами мови Паскаль
Відеоуроки
План
Пам’ятка для учня!
Хід уроку
1. Перевірка домашнього завдання.
1. Наявність.
2. Питання.
2. Актуалізація опорних знань.
3. Мотивація навчальної діяьності.
4. Вивчення нового матеріалу.
Анимація в Pascal ABC
Анімація без мерехтіння
Дана програма ілюструє застосування процедур LockDrawing і Redraw для реалізації анімації без мерехтіння:
uses GraphABC;
begin
LockDrawing;
for var i:=1 to 500 do
begin
Window.Clear;
Brush.Color := clGreen;
Ellipse(i,100,i+100,200);
Redraw;
Sleep(1);
end;
end.
Основна ідея полягає в наступному: відключимо малювання на екрані, викликавши LockDrawing (малювання буде здійснюватися тільки під позаекранного буфері), після чого будемо щоразу формувати новий кадр зображення і виводити його цілком на екран, викликаючи Redraw. При виклику Redraw перемальовується все графічне вікно, тому швидкість анімації обмежена швидкістю виведення позаекранного буфера на екран.
Рух кулі без мерехкотіння.
Здійснюється двома процедурами LockDrawing и Redraw.
Равномерное движение шара.
Programm Dv-chara-rawn;
uses GraphABC;
var
i: integer;
begin
LockDrawing; { Блокирует вывод в графическое окно, осуществляя рисование только во внеэкранном буфере - рисует в памяти. }
for i:=1 to 500 do
begin
ClearWindow; { Очищает графическое окно белым цветом }
SetBrushColor(clGreen); {Устанавливает цвет
кисти, задаваемый параметром color.}
Ellipse(i,100,i+100,200);
Redraw; { Осуществляет перерисовку окна вывода при
заблокированном выводе в графическое окно – стирает
старое и рисует из памяти }
Sleep(1); { Осуществляет паузу в выполнении программы на 1 ms }
end;
end.
Рівноприскорений рух кулі.
Programm Dv-chara-ru;
uses GraphABC;
var i: integer;
begin
LockDrawing; { Блокирует вывод в графическое окно,
осуществляя рисование только во внеэкранном буфере. }
for i:=1 to 500 do
begin
ClearWindow; { Очищает графическое окно белым цветом }
SetBrushColor(clGreen); {Устанавливает цвет
кисти, задаваемый параметром color.}
k:=i*i;
Ellipse(k,100,k+100,200);
Redraw; { Осуществляет перерисовку окна вывода при
заблокированном выводе в графическое окно}
Sleep(5); { Осуществляет паузу в выполнении программы на 5 ms }
end;
end.
Центральне зіткнення двох куль з однаковими масами.
( один шар движется, другой покоится )
uses GraphABC;
var i, k: integer;
begin
LockDrawing; { Блокирует вывод в графическое окно, осуществляя
рисование только во внеэкранном буфере. }
for i:=1 to 250 do
begin
ClearWindow; { Очищает графическое окно белым цветом. }
SetBrushColor(clGreen); { Устанавливает цвет кисти,
задаваемый параметром color.}
Ellipse(i,100,i+100,200); { Рисует движущийся шар}
SetBrushColor(clRed); { Устанавливает цвет кисти,
задаваемый параметром color.}
Ellipse(350,100,350+100,200); { Рисует
неподвижный шар}
Redraw; { Осуществляет перерисовку окна вывода при заблокированном
выводе в графическое окно}
Sleep(5); { Осуществляет паузу в выполнении программы на 5 ms }
end;
for i:=350 to 500 do
begin
ClearWindow; { Очищает графическое окно белым
цветом. }
SetBrushColor(clGreen); { Устанавливает цвет кисти,
задаваемый параметром color.}
Ellipse(250,100,250+100,200); { Рисует
неподвижный шар}
SetBrushColor(clRed); { Устанавливает цвет кисти,
задаваемый параметром color.}
Ellipse(i,100,i+100,200); { Рисует движущийся шар}
Redraw; { Осуществляет перерисовку окна вывода при
заблокированном выводе в графическое окно}
Sleep(5); { Осуществляет паузу в выполнении программы на 5 ms }
end;
end.
6. Самостійне робота.
7. Підсумки уроку.
9. Домашнє завдання.