Закрепить знания детей об алгоритме построения анимации.
- Понимать: Структуру построения программного кода.
- Знать: Порядок и алгоритм анимированния объекта.
- Уметь: Анимировать графические объекты.
- Исследовать: Возможность сокращения длины алгоритма.
Задачи воспитания : Воспитать трудолюбие, самостоятельность, культуру речи, и общения.
Задачи развития: Развивать мышление, память, речь и другие психические процессы.
Тип урока: Формирование новых знаний и их закрепление.
Оборудование: Компьютеры, интерактивная доска, проектор, презентация.
Методы обучения: Иллюстративно-обьяснительный
Олимпиады: Информатика 1 — 11 классы
Содержимое разработки
«Анимация в среде Pascal ABC «
Тема урока: Анимация.
Дидактическая цель: Изучить построение анимации в Паскаль ,с помощью условного оператора IF. Образовательные задачи: Познакомить с понятием «Анимация» ,
Закрепить знания детей об алгоритме построения анимации.
Анимация в PascalABC
Понимать: Структуру построения программного кода..
Знать: Порядок и алгоритм анимированния объекта .
Уметь: Анимировать графические объекты.
Исследовать: Возможность сокращения длины алгоритма.
Задачи воспитания : Воспитать трудолюбие, самостоятельность, культуру речи, и общения.
Задачи развития: Развивать мышление, память , речь и другие психические процессы.
Тип урока: Формирование новых знаний и их закрепление.
Оборудование: Компьютеры, интерактивная доска, проектор, презентация.
Методы обучения: Иллюстративно-обьяснительный
фронтальная на этапе актуализации знаний и на этапе объяснения нового материала.
Индивидуальная на этапе выполнения практической работы на компьютере.
1. Организационный этап. (3 мин.)
2.Этап всесторонней проверки знаний. (15 мин.)
3.Этап закрепления новых знаний. (25 мин.)
4.Подведение итогов. (2 мин.)
этап
Тема урока: Создание непрерывной циклической анимации
Приветствуют учителя и садятся.
Этап всесторонней проверки знаний.
Два человека у доски решают задачи на тему «анимация». Остальные делают тест на проверку знаний. Один учащийся пишет на доске решение задачи, — второй «собирает» решение задачи на Смарт-доске.
Для того чтобы заставить шар двигаться по горизонтали мы прибавляем i к?
Найдите ошибку в фрагменте кода программы где треугольник движется по диагонали сверху вниз? (Ошибка может быть более чем в одной строке).
Движение круга в PascalABC
Укажите верные и не верное высказывания.
Укажите порядок построения фрагмента программы в котором текст движется по диагонали.
Команда FloodFill выполняет.
Команда Redraw выполняет.
Команда Sleep ( n ) выполняет.
Проверяют решение задач на доске:
1)Треугольник движется вниз.
После решения задачи у доски – проверка на смарт-доске.
2)Текст «Привет» движется по диагонали снизу вверх.
Источник: compedu.ru
17. Анимация изображений в Паскале
Общим принципом создания движущихся изображений в Паскале является рисование какого-либо объекта, закраска его цветом фона (стирание) и последующее рисование уже с новыми координатами. Необходимо отметить, что эффект движения возникает не всегда. Если частота появления картинки на экране мала, то наблюдается перемещение мигающего объекта.
Если объект перемещается слишком быстро, то человеческий глаз не способен воспринять всей траектории движения. На восприятие еще накладывается частота обновления кадра монитора. Может возникать ситуация, когда мерцание наблюдается по этой причине. Продолжительность нахождения на экране прорисованного объекта должна быть максимальна, а продолжительность нахождения стертого минимальна.
Ниже приведена программа на Паскале, в которой организовано перемещение по экрану окружности. В данном случае частоту обновления изображения можно регулировать варьированием продолжительности задержки (time) и величины перемещения (delta), а также размером объекта — переменная radius (чем меньше радиус окружности, тем меньше времени необходимо на ее прорисовку). Перед выполнением примера скопируйте в свой каталог драйвер egavga.bgi;
Program Multik;
Uses Graph, Crt;
X,y,dy,dx,time,delta,radius,Gd,Gm: integer;
InitGraph(Gd,Gm,»);
if GraphResult <> 0 then Halt(1);
Rectangle(0,0,GetMaxX,GetMaxY);
Источник: studfile.net
Тема урока Анимация в Pascal ABC. n:= LoadPicture (name) – загружает рисунок из файла с именем name в оперативную память и возвращает описатель рисунка. — презентация
Презентация на тему: » Тема урока Анимация в Pascal ABC. n:= LoadPicture (name) – загружает рисунок из файла с именем name в оперативную память и возвращает описатель рисунка.» — Транскрипт:
1 Тема урока Анимация в Pascal ABC
2 n:= LoadPicture (name) – загружает рисунок из файла с именем name в оперативную память и возвращает описатель рисунка в целую переменную n. Если файл не найден, то возникает ошибка времени выполнения. Загружать можно рисунки в формате.bmp,.jpg или.gif. DrawPicture (n, x, y) — выводит рисунок с описателем n в позицию (x,y) графического окна.
DrawPicture (n, x, y, w, h) – устанавливает ширину (w) и высоту (h) рисунка SetPictureTransparent(n, true) — устанавливает (b = True) или отключает (b = False) режим прозрачности при рисовании рисунка с описателем n. Если b = True, то при его рисовании фон не отображается. Фоновым считается цвет левого нижнего пиксела рисунка. Sleep(ms) — осуществляет паузу в выполнении программы на ms миллисекунд Использование процедуры перерисовки Redraw позволяет избежать моргания экрана. Действия с рисунком
3 Практическая работа Пусть автомобиль перемещается на фоне здания и деревьев слева направо на расстояние 400 пикселей. Загрузим изображения фона и автомобиля из файлов gorod.gif и avto.jpg, поместив их описатели в переменные fon и avto. Установим прозрачность фона для изображения автомобиля SetPictureTransparent(avto,true). Зададим начальные координаты (х, у), ширину w и высоту h изображения автомобиля.
Все переменные имеют тип integer. Процедуры рисования и стирания будем повторять в цикле с предусловием While до тех пор, пока автомобиль не переместится на 400 пикселей. На каждом шаге цикла координату х левого верхнего угла изображения увеличиваем на 10. Ширину уменьшаем на 2, а высоту на 1 пиксель для уменьшения изображения при удалении.
4 program Avto1; uses GraphABC; var fon, avto, x,y, w,h: integer; begin SetWindowSize (600, 300); fon:= LoadPicture (‘город.gif’); avto:= LoadPicture (‘автомобиль.jpg’); SetPictureTransparent (avto, true); x:= 10; y:= 170; w:= 240; h:= 100; while x
5 Практическая работа program babochka; uses Graphabc; var f, b, x, y : integer; begin setwindowsize (450, 550); b:= LoadPicture (‘цветы.jpg’); f:= LoadPicture (‘бабочка.gif’); x:= 10; y:= 350; while x
6 Практическая работа Загрузим изображение циферблата из файла таймер.jpg, поместив описатель в переменную fori. Зададим координаты центра вращения стрелок (хО.уО) и начальные значения секунд sec:=0 и минут min:=0. На каждом шаге цикла с постусловием repeat. until будем увеличивать значение секунд на 1 до тех пор. пока время не превысит 60 мин. или не нажата любая клавиша (keyPressed).
Значения минут вычислим целочисленным делением секунд на 60: min:= secdiv60. Секундную стрелку будем рисовать линией длиной 120 и толщиной 3 пикселя, а минутную и 7 пикселей. Радианная мера угла поворота секундной стрелки равна Pi*sec/30. а минутной Pi»min/30. Координаты концов стрелок (х,у) вычисляем по формулам тригонометрии и округляем до целых Например, для секундной стрелки x:=x0+Round
7 Практическая работа Program Timer; uses crt, GraphABC; var fon, x0, y0, x, y, R, min, sec: integer; begin SetWindowSize (360, 480); HideCursor; x0 := 173; y0 := 300; min : =0; sec := 0; fon := LoadPicture (‘таймер.jpg’); repeat DrawPicture (fon, 0, 0); sec := sec + 1; min := sec div 60; x := x0 + Round (120 * sin (Pi * sec / 30)); y := y0 – Round (120 * cos (Pi * sec / 30)); SetPenWidth (3); Line (x0, y0, x, y); x := x0 + Round (100 * sin (Pi * min / 30)); y := y0 – Round (100 * cos (Pi * min / 30)); SetPenWidth (7); Line (x0, y0, x, y); sleep (1000); until (min >= 60) or keyPressed; end.
Источник: www.myshared.ru