Методическая разработка «Роль игры в системе совершенствования качества образования. Создание мультфильма в Delphi 7.0»
УФИМСКИЙ ГОРОДСКОЙ ДВОРЕЦ
ДЕТСКОГО ТВОРЧЕСТВА им. В.М.КОМАРОВА
Роль игры в системе совершенствования качества образования.
Создание мультфильма
в среде программирования Delphi 7.0
методическая разработка
Разработал:
педагог дополнительного образования
объединения «Компьютерная школа IT-магия»
Центра научно-технического и
изоприкладного творчества
Нигматуллина Венера Аглямовна
Уфа – 2012
Содержание проблемы и обоснование необходимости ее решения в рамках инновационной деятельности
Современное общество вступило в эпоху информатизации, что повлекло за собой и информатизацию образования, информатика становится одной из основных научных дисциплин в системе среднего, высшего и дополнительного образования.
Основополагающим элементом информатизации образования является информационно-технологическая среда с развивающейся инфраструктурой учебно-познавательного пространства. В ней основной упор направлен
на создание технически оснащенной обучающей среды, обладающей гибкой и легко адаптируемой организационной структурой, оптимальной в плане эффективного использования учебного пространства и времени
на разработку образовательных программ, учитывающих вопрос взаимодействия учащихся, педагогов образовательного учреждения с компьютерно-информационной технологией и информационным обществом.
Важнейшей функцией образования является обучение творчеству, развитие интеллектуальных способностей учащихся. Классическая система образования в решении этой задачи имеет более ограниченные возможности по формам, технологиям. Новые образовательные технологии обучения, развитие инклюзивного образования, соединенные с современными формами инфраструктуры дополнительного образования (таких как интернет, новейшая компьютерная техника, разнообразное программное обеспечение с системой обучения и контроля знаний, интерактивная доска с проектором) позволяют существенно продвинуться в творческом развитии учащихся.
Интерес к изучению информатики во многом зависит от того, как проходят занятия. Элемент обязательности сдерживает развитие увлеченности предметом на школьных уроках информатики. Для повышения активности и развития любознательности, познавательного интереса целесообразно на уроках информатики как можно шире применять нетрадиционные формы. Особенно важно это в подростковом возрасте, когда формируются и определяются постоянные интересы и склонности к тому или иному предмету, что является основополагающим элементом для выбора будущей профессии и построения карьеры. Именно в этот момент надо раскрыть перед подростком притягательные стороны информатики, иначе его интересы замкнутся на компьютерных играх, на «стрелялках» и «догонялках» в компьютерных клубах или личном компьютере.
Интерес к предмету можно повышать, используя разные методы, но самым привлекательным для ребят является занимательность. Занимательный материал и игровые уроки могут вызвать интерес к информатике даже у самых слабых учеников. Самый сложный материал, который в традиционной форме усваивается очень слабо и без интереса, должен сопровождаться игровыми элементами. Для закрепления пройденного материала можно проводить неординарные обобщающие уроки с элементами игры. Игра помогает детям сосредотачиваться, мыслить самостоятельно, развивать внимание и стремление к знаниям. Увлекшись, ребенок и не замечает, что учится - он познает, запоминает новое, ориентируется в необычной ситуации.
А.М. Горький писал: «Игра - путь детей к познанию мира, в котором они живут и который призваны изменить». Игры являются ценным средством воспитания умственной активности детей, активизируют психические процессы. Но, к сожалению, отсутствие методических разработок по этому вопросу, недостаток личного времени учителя для разработки режиссуры игр, которые требуют повышенного методического и профессионального мастерства, дополнительной подготовки и проработки учебного материала приводит к тому, что игру используют лишь на внеклассных мероприятиях, недооценивая ее роль в учебном процессе. Использование игровых технологий является одним из способов привлечения ребенка к миру знаний, но в тоже время не позволяет изучить предмет «играючи», легких путей в науку не бывает. Например, при наличии компьютерной техники и интерактивной доски в классе целесообразно проводить уроки на основе проблемно-ориентированной технологии, уроки-практикумы с включением игровых элементов. На таких уроках воспитанник получает индивидуальное задание и пытается сам выполнить его, используя полученные теоретические знания. С трудом полученная информация запоминается надолго.
Цели и задачи инновации
В традиционной методике существует триединство учебных целей: образовательная, развивающая и воспитательная. Часто бывает, что преподавателю не всегда ясна доминирующая направленность его взаимодействия с воспитанниками, он, подчас, точно не знает, на чем ему сосредоточиться: на формировании системы знаний учащихся, на их развитии, или на воспитании этических и эстетических идеалов. В этом ему могут помочь нетрадиционные уроки, где каждый может проявить себя, когда отдельные воспитанники превращаются в творческий коллектив. Именно в творческом коллективе начинают проявляться основные принципы инклюзивного образования, как наиболее человечной и передовой системы образования, которая наиболее реализована в системе дополнительного образования, а именно:
ценность человека не зависит от его способностей и достижений;
каждый человек способен чувствовать и думать;
каждый человек имеет право на общение и на то, чтобы быть услышанным;
все люди нуждаются друг в друге;
подлинное образование может осуществляться только в контексте реальных взаимоотношений;
все люди нуждаются в поддержке и дружбе ровесников;
для всех обучающихся достижение прогресса скорее может быть в том, что они могут делать, чем в том, что не могут;
разнообразие усиливает все стороны жизни человека.
Применение компьютерной техники, интерактивной доски, интернета на уроках позволяет сделать каждый урок нетрадиционным, ярким, насыщенным, приводит к необходимости пересмотреть различные способы подачи учебного материала, предусмотреть различные подходы в обучении информатике: уроки-лекции, уроки-семинары, уроки-практикумы, уроки с применением современных технологий, уроки-презентации, деловые игры, соревнования, КВН, сюжетно-ролевые уроки, уроки-расследования, уроки - мозговые штурмы.
Наиболее сложные разделы информатики для понимания воспитанников – программирование. Если офисные программы не вызывают особых затруднений в изучении, то даже самые простые задачи по программированию на языке Turbo Pascal ставят в тупик 90% учащихся. Непонимание нарастает как снежный ком по мере углубления изучаемого материала, особенно – при использовании математических и физических примеров (они применяются в школе). Но с легкостью, чисто на интуитивном уровне, ребята начинают составлять графические программы. Графика начинает помогать в осмыслении всех непонятых разделов программирования. Скучные разделы программирования начинают оживать и превращаться в любимые мультфильмы с летающей на ступе Бабой-Ягой, с бегающим Котом в сапогах и плывущим на корабле Бармолеем…
С появлением технологий визуального программирования (Visual Basic, Delphi), ориентированных на так называемую «быструю разработку», когда среда разработки берет на себя большую часть рутинной работы, оставляя учащемуся работу по конструированию диалоговых окон и функций обработки событий, создание программ превращается в большую увлекательную игру-путешествие…
Сроки и этапы реализации инновации
Уже при первом знакомстве со средой разработки, представлении ее возможностей возникает проблема: чтобы описать процесс разработки программы, объяснить, как работает программа, нужно оперировать такими понятиями как, объект, событие, свойство, понимание которых на начальном этапе изучения весьма проблематично. Поэтому при изложении материала должен быть принят подход, в основу которого положен принцип соблюдения баланса между языком программирования, методами программирования и средой разработки. Научиться программировать можно, только программируя, решая конкретные задачи различного назначения (от простых однооконных приложений до вполне профессиональных программ). По понятным причинам эти задачи должны по своему содержанию быть интересными и привлекательными для воспитанников. Загруженность школьного курса информатики математическими и физическими задачами снижает его привлекательность, пробелы в знаниях математики и физики усугубляют сам процесс изучения информатики. Ребят привлекает не решение математических задач, а задачи, которые, наиболее близки, интересны и понятны для их возраста, например, связанные с графикой или анимации, в программных кодах которых сосредоточены большинство разделов программирования, причем не самых простых. Именно разделы по изучению графических и мультимедийных возможностей языка программирования пропускаются в школьном курсе информатики из-за недостаточности учебных часов. Поэтому система дополнительного образования и должна прийти на помощь школьной информатике, превратить скучные школьные уроки в яркие, красочные, творческие.
Как показал многолетний опыт работы, мобилизовать все творческие способности ребенка, можно, если ему дать индивидуальное задание, в котором сконцентрируются его знания и умения. Одним из разновидностей таких заданий может быть создание простейшего конструктора мультфильмов.
Под мультипликацией обычно понимается движущийся и меняюшийся рисунок. В простейшем случае рисунок может только двигаться или только меняться, рисунок может быть сформирован из графических примитивов (линий, окружностей, дуг, многоугольников и т. д.). Обеспечить перемещение рисунка довольно просто: надо сначала вывести рисунок на экран, затем через некоторое время стереть его и снова вывести этот рисунок, но уже на некотором расстоянии от его первоначального поло-жения. Подбором времени между выводом и удалением рисунка, а также расстояния между старым и новым положением рисунка (шага перемещения), можно добиться того, что у наблюдателя будет складываться впечатление, что рисунок равномерно движется по экрану. При программировании сложных изображений, состоящих из множества элементов, используется метод, который называется методом базовой точки.
Суть этого метода заключается в следующем:
1.Выбирается некоторая точка изображения, которая принимается за базовую.
2.Координаты остальных точек отсчитываются от базовой точки.
3.Если координаты точек изображения отсчитываются от базовой (в относительных единицах, а не в пикселах), то это позволяет масштабировать изображение.
Если изображение формируется не из графических примитивов и представляет собой сложную картинку или фотографию (битовый образ), то эффект перемещения картинки может быть создан путем периодической перерисовки картинки с некоторым смещением относительно ее прежнего положения. При этом предполагается, что перед выводом картинки в новой точке сначала удаляется предыдущее изображение. Удаление картинки может быть выполнено путем перерисовки всей фоновой картинки или только той ее части, которая перекрыта битовым образом движущегося объекта. Пример такой программы - перемещение самолета на фоне городского пейзажа. В Delphi 7.0 для хранения битовых образов (картинок) фона и самолета, а также копии области фона, перекрываемой изображением самолета, используются объекты типа TBitMap, которые создаются динамически процедурой FormActivate. Эта же процедура загружает из файлов картинки фона и самолета, а также сохраняет область фона, на которую первый раз будет накладываться картинка. Сохранение копии фона выполняется при помощи метода CopyRect, который позволяет выполнить копирование прямоугольного фрагмента одного битового образа в другой. Объект, к которому применяется метод CopyRect, является приемником копии битового образа. В качестве параметров методу передаются координаты и размер области, куда должно быть выполнено копирование, поверхность, откуда должно быть выполнено копирование, а также положение и размер копируемой области, на которую будет наложено изображение самолета и которая впоследствии должна быть восстановлена из буфера. Следует обратить внимание на то, что начальное значение переменной, которая определяет положение левой верхней точки битового образа движущейся картинки, — отрицательное число, равное ширине битового образа картинки. Поэтому в начале работы программы изображение самолета не появляется, картинка отрисовывается за границей видимой области. С каждым событием ОnTimer значение координаты увеличивается, и на экране появляется та часть битового образа, координаты которой больше нуля. Таким образом, у наблюдателя создается впечатление, что самолет вылетает из-за левой границы окна. Битовые образы фона и картинки можно загружать не только из файлов. Delphi 7.0 позволяет поместить необходимые битовые образы в виде ресурса в файл исполняемой программы и по мере необходимости загружать битовые образы из ресурса, т.е. из файла исполняемой программы (ЕХЕ-файла).
Для того чтобы воспользоваться возможностью загрузки картинки из ресурса необходимо сначала создать файл ресурсов, поместив в него нужные картинки. Файл ресурсов можно создать при помощи утилиты Image Editor (Редактор изображений), которая запускается выбором команды Image Editor меню Tools. Графический редактор Image Editor предоставляет программисту стандартный для подобных редакторов набор инструментов, используя которые можно нарисовать нужную картинку.
Можно создать файл анимации (AVI-файл), используя популярную программу Macromedia Flash. В Macromedia Flash анимация, которую так же довольно часто называют роликом (Movie), состоит из слоев. В простейшем случае ролик представляет собой один единственный слой (Layer). Слой — это последовательность кадров (Frame), которые в процессе воспроизведения анимации выводятся и последовательно, один за другим. Если ролик состоит из нескольких слоев, кадры анимации получаются путем наложения кадров одного слоя на кадр другого. Например, один слой может содержать изображение фона, на котором разворачивается действие, а другой — изображение персонажей. Возможность формирования изображения путем наложения слоев существенно облегчает процесс создания анимации. Таким образом, чтобы создать анимацию, нужно распределить изображение по слоям и для каждого слоя создать кадры.
Вашему вниманию предлагается методическая разработка, в которой игра выступает главным элементом для повышения качества усвоения сложных разделов в программировании по теме «Создание покадрового мультфильма в среде программирования Delphi 7.0». Надеюсь, она поможет Вам сделать уроки программирования интересными, увлекательными для ваших учеников.
Мероприятия, ресурсное обеспечение, организация управления и контроль ее реализации
Серия обобщающих уроков
по теме
«Создание покадрового мультфильма в среде программирования Delphi 7.0»
Деловая игра «Юный мультипликатор»
Учиться можно только весело...
Чтобы переваривать знания,
надо поглощать их с аппетитом.
А. Франс
Раздел программы: «Среда программирования Delphi 7.0. Графические и мультимедиа возможности Delphi 7.0»
Тема уроков: «Создание покадрового мультфильма в среде программирования
Delphi 7.0»
Тип уроков: обобщающий.
Вид: урок-практикум и деловая игра.
Технология: игровая технология.
Время проведения: заключительные уроки по теме «Графические и мультимедиа возможности Delphi 7.0»
Цели уроков:
контроль над уровнем усвоения материала
обобщение и применение для решения реальной задачи знаний о способах и методах создания мультфильма;
развитие навыков моделирования ситуации;
развитие познавательного интереса, творческой активности воспитанников, умения использовать дополнительную литературу;
обобщение знаний основного программного материала;
воспитание культуры, уважения к собеседнику, умения достойно вести спор, корректности при отстаивании своего мнения.
внедрение в информатику других предметов (дизайн, рисунок, литературное и музыкальное творчество);
Оборудование: Компьютеры Pentium-IV, интерактивная доска с проектором (необязательный компонент).
Программное обеспечение: Windows XP,VISTA,7, Delphi 7.0, Macromedia Flash или Adobe Flash
Задачи урока:
1. Воспитательная — развитие познавательного интереса, логического мышления, усиление познавательной мотивации осознанием ученика своей значимости в образовательном процессе.
2. Учебная — развивать интерес к решению задач нестандартного вида, к активной творческой деятельности, сформировать навыки самостоятельной работы, работы с литературой, с людьми, в коллективе, составления с помощью компьютера мультимедийных приложений, научить аргументированно отстаивать свое мнение, добиться более глубокого и прочного освоения темы «Графические и мультимедиа возможности Delphi 7.0»
3.Развивающая — развитие логического мышления, памяти, внимательности, умения работать с дополнительной литературой, правильно выбирать источники дополнительной информации.
4. Познавательная — знакомство с современными компьютерными технологиями, повышение интереса к занятиям информатикой.
Возраст воспитанников: 7-10 класс
Объем знаний, необходимых воспитанникам для проведения:
Уметь работать в среде программирования Delphi 7.0
Знать основы программирования, управляющие структуры языка Delphi 7.0
Знать графические и мультимедийные возможности Delphi 7.0
Уметь рисовать с помощью графического редактора и вносить изменения в готовые изображения.
Уметь оформлять текст.
Уметь воспроизводить музыку, речь, звуковые эффекты, просматривать видеоролики и мультипликацию.
Продолжительность реализации:
2 теоретических урока «Создание покадрового мультфильма в среде програм-мирования Delphi 7.0»
4 урока-практикума «Создание покадрового мультфильма в среде программирования Delphi 7.0»
1 урок – подготовительный этап деловой игры «Юный мультипликатор»
3 урока – создание мультсказки
1 урок – презентация сказки и подведение итогов
Формы и режим проведения занятий: на уроках с использованием компьютерной техники и дополнительной литературы (детских книг, журналов).
Раздаточный материал: листинг программы Мультик (использование метода СopyRect), рисунок 4, краткое описание основных инструментов программы Macromedia Flash (см. Приложение 1)
План проведения занятий:
1.Уроки-практикумы «Создание покадрового мультфильма в среде программирования
Delphi 7.0»
1.1 Краткий инструктаж по технике безопасности в компьютерном классе
1.2 Фронтальный опрос
1.3 Теоретическая часть (2 урока)
1.4 Практическая часть «Создание простого «мультика» первым способом» (2 урока)
1.5 Практическая часть «Создание мультика вторым способом». (2 урока)
2. Деловая игра «Юный мультипликатор»
2.1 Подготовительный этап. (1 урок)
2.2 Создание мультсказки (3 урока)
2.3 Презентация и подведение итогов. (1 урок)
1.Уроки-практикумы «Создание покадрового мультфильма в среде программирования Delphi 7.0»
Ход урока
1. Краткий инструктаж по технике безопасности в компьютерном классе
Сегодня мы проводим занятие по теме: «Создание покадрового мультфильма в среде программирования Delphi 7.0».
Для обеспечения безопасной работы необходимо соблюдать следующие правила:
Нельзя самостоятельно, без разрешения преподавателя, включать и выключать компьютеры.
Нельзя отсоединять и присоединять провода.
Нельзя работать мокрыми руками и во влажной одежде
Нельзя ходить по классу, громко разговаривать.
Нельзя касаться задних стенок мониторов, системных блоков.
Нельзя нажимать клавиши ручкой, карандашом.
В случае неисправности компьютера или при обнаружении запаха гари – сообщить преподавателю
2.Фронтальный опрос
Преподаватель: На прошлом теоретическом занятии мы говорили о графических и мультимедиа возможностях Delphi 7.0
? Вспомним, как можно создавать графические программы в Delphi 7.0?
Ответ: Программа выводит графику на поверхность объекта (формы или компонента Image). Поверхности объекта соответствует свойство Canvas.Для того, чтобы вывести на поверхность объекта графический элемент (прямую, окружность, прямоугольник и т.д.) необходимо применить к свойству Canvas этого объекта соответствующий метод. Например, инструкция Form1.Canvas.Rectangle (10,10,100,100) выводит в окне программы прямоугольник.
Преподаватель:
? Какие объекты удобно использовать в графических программах?
Ответ: При работе с графикой удобно использовать объекты типа TBitMap (битовый образ). Битовый образ представляет собой находящуюся в памяти компьютера, и, следовательно, невидимую графическую поверхность, на которой программа может сформировать изображение. Содержимое битового образа (картинка) легко и быстро может быть выведена на поверхность формы или области вывода иллюстрации (Image). Загрузить в битовый образ нужную картинку можно при помощи метода LoadFromFile.
Преподаватель:
? Что такое мультипликация?
Ответ: Мультипликация - это движущийся по экрану и меняюшийся во времени рисунок. Эффект перемещения рисунка создать просто: надо сначала вывести рисунок на экран, затем через некоторое время стереть его и снова вывести этот рисунок, но уже на некотором расстоянии от его первоначального положения. Если подобрать время между выводом и удалением рисунка, а также расстояние между старым и новым положением рисунка (шага перемещения), то можно добиться, что рисунок равномерно движется по экрану.
Преподаватель:
? Какой метод используется при программировании сложных изображений, состоящих из множества элементов?
Ответ: Этот метод называется методом базовой точки. Суть этого метода заключается в следующем: выбирается базовая точка изображения, координаты остальных точек отсчитываются от базовой точки.
Преподаватель:
? Как можно реализовать перемещение одного сложного изображения на фоне другого?
Ответ: Если изображение представляет собой сложную картинку или фотографию (битовый образ), то эффект перемещения картинки создается периодическим перерисовыванием картинки с некоторым смещением относительно ее прежнего положения. Перед выводом картинки в новой точке сначала удаляется предыдущее изображение – происходит перерисовка всей фоновой картинки или только той ее части, которая перекрыта битовым образом движущегося объекта
Преподаватель:
? Каким образом можно еще загрузить битовый образ для создания эффекта движения?
Ответ: Delphi 7.0 позволяет поместить необходимые битовые образы в виде ресурса в файл исполняемой программы и, по мере необходимости, загружать битовые образы из ресурса, т.е. из файла исполняемой программы (ЕХЕ-файла).
Файл ресурсов можно создать при помощи утилиты Image Editor (Редактор изображений), которая запускается выбором команды Image Editor меню Tools.
3. Теоретическая часть (2 урока)
Урок 1. «Создание мультфильма с помощью метода CopyRect»
Колышущееся пламя костра, пируэты гимнастки, гримасы клоуна и многие другие динамические сюжеты могут приятно украсить проект. Сегодня мы рассмотрим, как можно реализовать вывод в диалоговом окне программы простого "мультика", подобного тому, который можно видеть в диалоговом окне Установка связи при подключении к Internet. Эффект бегущего между телефоном и компьютером красного квадратика достигается за счет того, что в диалоговое окно выводятся сменяющие друг друга картинки.
Существуют 2 способа создания мультфильма: с помощью метода CopyRect и с помощью программы Macromedia Flash.
Рассмотрим первый способ.
С помощью графического редактора Image Editor, Paint нужно заготовить серию картинок, организованных по принципу киноленты. Две соседние картинки этой серии, как кинокадры, должны иметь стандартные размеры и отличаться друг от друга лишь небольшими изобразительными деталями. На рисунке 1 показан фрагмент одной из таких серий с условным названием - «Искусство дирижера».
Рисунок 1. Серия картинок - «Искусство дирижера».
«Искусство дирижера
Кадры мультика обычно помещаются в одном файле или в одном ресурсе. Перед началом работы программы они загружаются в буфер, в качестве которого удобно использовать объект типа TBitMap. Задача процедуры, реализующей вывод мультика, состоит в том, чтобы выделить очередной кадр и вывести его в нужное место формы. Вывести кадр на поверхность формы можно применением метода CopyRect к свойству Canvas этой формы. Метод CopyRect копирует прямоугольную область одной графической поверхности на другую.
Инструкция применения метода CopyRect в общем виде выглядит так:
Сanvas1.CopyRect (Область1, Canvas2, Область2),где
Canvas1 — графическая поверхность, на которую выполняется копирование;
Canvas2 — графическая поверхность, с которой выполняется копирование;
параметр Область2 — задает положение и размер копируемой прямоугольной области, а параметр Область1 — положение копии на поверхности Canvas1.
В качестве параметров Область1 и Область2 используются структуры типа TRect, поля которых определяют положение и размер области. Заполнить поля структуры TRect можно при помощи функции Bounds, инструкция обращения к которой в общем виде выглядит так:
Bounds (x, у, Width, Height), где
х и у — координаты левого верхнего угла области;
Width и Height — ширина и высота области.
Следующая программа, текст которой приведен в Листинге Мультик (на плакате), выводит в диалоговое окно Мультик (покадровый вывод) простой мультик — вылупляется и уходит цыпленок. На рисунке 2 приведены кадры этого мультика (содержимое файла film.bmp) , на рисунке 3 - диалоговое окно программы, оно содержит один единственный компонент — таймер.

Рисунок 2. Содержимое файла film.bmp

Рисунок 3 Диалоговое окно программы с компонентой — таймер
Листинг Мультик (использование метода СopyRect)
unit multik_;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
procedure FormActivate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
const
FILMFILE = 'film.bmp'; // фильм - bmp-файл
N_KADR=9; // кадров в фильме (для данного файла)
var
Film: TBitMap; // фильма - все кадры
// Kadr: TBitMap; // текущий кадр
WKadr,HKadr: integer; // ширина и высота кадра
CKadr: integer; // номер текущего кадра
RectKadr: TRect; // положение и размер кадра в фильме
Rect1 : Trect; // координаты и размер области отображения фильма
procedure TForm1.FormActivate(Sender: TObject);
begin
Film := TBitMap.Create;
Film.LoadFromFile(FILMFILE);
WKadr := Round(Film.Width/N_Kadr);
HKadr := Film.Height;
Rect1 := Bounds(10,10,WKadr,HKadr);
Ckadr:=0;
Form1.Timer1.Interval := 150; // период обновления кадров - 0.15 сек
Form1.Timer1.Enabled:=True; // запустить таймер
end;
// отрисовка кадра
procedure DrawKadr;
begin
// определим положение текущего кадра в фильме
RectKadr:=Bounds(WKadr*CKadr,0,WKadr,HKadr);
// вывод кадра из фильма
Form1.Canvas.CopyRect(Rect1,Film.Canvas,RectKadr);
// подготовимся к выводу следующего кадра
CKadr := CKadr+1;
if CKadr = N_KADR
then CKadr:=0;
end;
// обработка сигнала от таймера
procedure TForm1.Timer1Timer(Sender: TObject);
begin
DrawKadr;
end;
end.
Программа состоит из трех процедур. Процедура TForm1.FormActivatе дает объект Film и загружает в него фильм — BMP-файл, в котором находятся кадры фильма. Затем, используя информацию о размере загруженного битового образа, процедура устанавливает значения характеристики высоту и ширину. После этого создается объект Kadr (типа TBitMap), предназначенный для хранения текущего кадра. Следует обратить внимание, что после создания объекта Kadr принудительно устанавливаются значения свойств Width и Height. Если этого не сделать, то созданный объект будет существовать, однако память для хранения битового образа не будет выделена. В конце своей работы процедура TForm1.FormActivate устанавливает номер текущего кадра и запускает таймер.
Основную работу в программе выполняет процедура DrawKadr, которая выполняет из фильма очередной кадр и выводит его в форму. Выделение кадра и его отрисовку путем копирования фрагмента картинки с одной поверхности на другую выполняет метод CopyRect (см.рисунок 4), которому в качестве параметров передаются координаты области, куда нужно копировать, поверхность и положение области, откуда нужно копировать. Положение фрагмента в фильме, т. е. координата х левого верхнего угла, определяется умножением ширины кадра на номер текущего кадра. Запускает процедуру DrawKadr процедура TForml.TimerlTimer, обрабатывающая событие OnTimer.
R
ect1- область, в которой отображаются кадры фильма

С
аnvas2 – поверхность невидимого объекта типа TBitmap, содержит все кадры фильма



Саnvas1 – поверхность формы Rect2- отображаемый кадр фильма (компонента Image)
Рисунок 4. Метод CopyRect
Урок 2. «Создание мультфильма с помощью программы Macromedia Flash»
Рассмотрим второй способ создания файла анимации.
Более простой способ просмотра мультика дает компонента MediaPlayer. Но к сожалению, пока система Delphi не позволяет создавать файлы анимации (AVI-файлы), их можно создать в популярной программе Macromedia Flash. В Macromedia Flash анимация, которую так же довольно часто называют роликом (Movie), состоит из слоев. В простейшем случае ролик представляет собой один единственный слой (Layer). Слой — это последовательность кадров (Frame), которые в процессе воспроизведения анимации выводятся и последовательно, один за другим. Если ролик состоит из нескольких слоев, кадры анимации получаются путем наложения кадров одного слоя на кадр другого. Например, один слой может содержать изображение фона, на котором разворачивается действие, а другой — изображение персонажей. Возможность формирования изображения путем наложения слоев существенно облегчает процесс создания анимации. Таким образом, чтобы создать анимацию, нужно распределить изображение по слоям и для каждого слоя создать кадры.
После запуска Macromedia Flash на фоне главного окна программы появляется окно Move1, которое используется для создания анимации. В верхней части окна, которая называется Timeline, отражена структур анимации, в нижней части, которая называется рабочей областью, находится изображение текущего кадра выбранного слоя. После запуска Macromedia Flash анимация состоит из одного слоя (Layer 1), который свою очередь представляет один пустой (чистый) кадр.
Перед тем как приступить непосредственно к созданию кадров анимации, нужно задать общие характеристики анимации (ролика): размер кадров и скорость их воспроизведения. Характеристики вводятся в поля диалогового окна Movie Properties (рис. 5), которое появляется в результате выбора из меню Modify команды Movie. В поле Frame Rate нужно ввести скорость воспроизведения ролика, которая измеряется в кадрах в секунду (fps — frame per second, кадров в секунду), в поля Width и Height — ширину и высоту кадров, этом же окне можно выбрать фон кадров (список Background Color).

Рисунок 5. Окно Move1 в начале работы с новой анимацией
при установке характеристик ролика
После того, как установлены характеристики ролика, можно приступить к созданию кадров анимации. Первый кадр нужно просто нарисовать. Технология создания изображений Macromedia Flash обычная, используется стандартный набор инструментов: кисть, карандаш, пульверизатор, резинка и др. Чтобы создать следующий кадр, нужно из меню Insert выбрать команду Keyframe. В результате в текущий слой будет добавлен кадр, в который будет скопировано содержимое предыдущего кадра (так как в большинстве случаев следующий кадр создается путем изменения предыдущего). Теперь можно нарисовать второй кадр. Аналогичным образом создаются остальные кадры анимации.
Иногда не нужно, чтобы новый кадр содержал изображение предыдущего, в этом случае вместо команды Keyframe нужно воспользоваться командой Blank Keyframe. Если некоторое изображение должно оставаться статичным в течение времени, кратного выводу нескольких кадров, то вместо того, чтобы вставлять в слой несколько одинаковых кадров (Keyframe), нужно сделать кадр статичным. Если кадр, изображение которого должно быть статичным, является последним кадром ролика, то в окне Timeline нужно выделить кадр, до второго изображение должно оставаться статичным, и из меню Insert выбрать команду Frame. Если кадр, изображение которого должно быть статичным, не является последним, то нужно выделить этот кадр и несколько раз из меню Insert выбрать команду Frame.
Можно значительно облегчить работу по созданию анимации, если разделить изображение на основное и фоновое, поместив каждое в отдельный слой (именно так поступают при создании мультфильмов). Сначала нужно создать кадры слоя фона так, как было описано выше. Затем, выбрав из меню Insert команду Layer, нужно добавить слой основного действия. Следует обратить внимание, что все действия по редактированию изображения направлены на текущий кадр выбранного слоя. В списке слоев выбранный слой выделен цветом, номер текущего кадра помечен маркером - красным квадратиком.
Чтобы выводимая анимация сопровождалась звуком, нужно сначала сделать доступным соответствующий звуковой файл. Для этого надо из меню File выбрать команду Import и добавить в проект звуковой файл. Затем в окне Timeline нужно выделить кадр, при отображении которого должно начаться воспроизведение звукового фрагмента, используя диалоговое окно Sound выбрать звуковой фрагмент и задать, если нужно, параметры его воспроизведения. Количество повторов нужно ввести поле Loops, эффект, используемый при воспроизведении, можно выбрать и списка Effect.

Рисунок 6. Окно Export Windows AVI
После того как ролик будет готов, его надо сохранить. Делается это обычным образом, то есть выбором из меню File команды Save. Для преобразования файла из формата Macromedia Flash в AVI-формат нужно из меню File выбрать команду Export Movie и задать имя файла. Затем в появившемся диалоговом окне Export Windows AVI (рис. 6) нужно задать размер кадра (поля Width и Height), из списка Video Format выбрать формат, в котором будет записана видеочасть ролика, а из поля Sound Format — формат звука.
Если установлен переключатель Compress video, то после щелчка на кнопке ОК появится диалоговое окно, в котором можно будет выбрать один из стандартных методов сжатия видео. При выборе видео и звукового формата нужно учитывать, что чем более высокие требования будут предъявлены качеству записи звука и изображения, тем больше места на диске займет AVI-файл. Здесь следует иметь в виду, что завышенные требования не всегда оправданы.
4. Практическая часть урока «Создание покадрового мультика методом CopyRect» (2 урока)
Каждый воспитанник на уроках выполняет индивидуальное задание, предварительно выбрав объект анимации. Индивидуальные задания целесообразно подбирать таким образом, чтобы каждый воспитанник мог проявить свои знания — т. е. их обязательно нужно сделать дифференцированными. В зависимости от способностей воспитанника задание может быть более простым или более сложным. Важно, чтобы воспитанник не ощущал, что задание слишком легкое или сложное. При этом преподаватель принимает активное участие в создание программного кода каждого воспитанника, делая необходимые замечания по дизайну диалоговых окон программы, исправляя по ходу возникающие ошибки, отвечая на вопросы воспитанников.
План работы воспитанников
Создать 3 сказочных персонажа (колобок, курочка Ряба, котенок Гав и др.) в графическом редакторе Paint в состоянии покоя и по 8-10 кадров – имитирующие движение (для этого нужно нарисовать персонаж и скопировать его изображение в буфер обмена, вывести это изображение в виде 8-10 кадров, расположенных последовательно в ряд, внести изменения в каждом кадре в соответствии с выбранным действием сказочного героя, создавая иллюзию движения или изменения).
Сохранить рисунки в виде файла или файла ресурса.
Аналогично создать файлы для персонажей, имитирующие процесс движения с 2-3 другими действиями (например, колобок катится, прыгает, падает).
Создать программный код в соответствии с практическим заданием
Одним из достаточно сложных заданий может стать создание программного кода, в диалоговом окне которого расположены следующие элементы (см.рисунок 7) :

Рисунок 7. Пример практического задания
4. Практическая часть урока «Создание покадрового мультика с помощью программы Macromedia Flash» (2 урока)
План работы воспитанников
1. Запустить программу Macromedia Flash.
2. Ознакомление с основными принципами работы (с инструментами, выделение, связывание и разбиение)
3. Создание анимации движения (см. рисунок 8)
3.1.Задать общие характеристики анимации (ролика): размер кадров и скорость их воспроизведения с помощью команды Movie из меню Modify в поля диалогового окна Movie Properties
3.2.Создать кадры слоя фона
3.3.Добавить слой основного действия с помощью команды Layer меню Insert
3.4.Нарисовать первый кадр, используя стандартный набор инструментов для рисования (кисть, крандаш, пульверизатор, резинка и др.)
3.5.Выполнить команду Keyframe из меню Insert. В результате в текущий слой будет добавлен кадр, в который будет скопировано содержимое предыдущего кадра
3.6.Нарисовать второй кадр. Аналогичным образом создаются остальные кадры анимации.
3.7.Если не нужно, чтобы новый кадр содержал изображение предыдущего, то используется команда Blank Keyframe из меню Insert.
3.8.Если изображение должно оставаться неизменным течение времени, то в окне Timeline нужно выделить кадр, до которого изображение должно оставаться статичным, и из меню Insert выбрать команду Frame. Если кадр, изображение которого должно быть статичным, не является последним, то нужно выделить этот кадр и несколько раз из меню Insert выбрать команду Frame.
3.9.Вставить в анимацию звуковой файл. Для этого надо из меню File выбрать команду Import и добавить в проект звуковой файл В окне Timeline нужно выделить кадр, при отображении которого должно начаться воспроизведение звукового фрагмента, используя диалоговое окно Sound, выбрать звуковой фрагмент и задать, если нужно, параметры его воспроизведения. Количество повторов нужно ввести поле Loops, эффект, используемый при воспроизведении, можно выбрать и списка Effect.
3.10.Сохранить файл анимации с преобразованием из формата Macromedia Flash в AVI-формат с помощьюиз команды Export Movie из меню File, задав имя файла. Затем в появившемся диалоговом окне Export Windows AVI нужно задать размер кадра (поля Width и Height), из списка Video Format выбрать формат, в котором будет записана видеочасть ролика, а из поля Sound Format — формат звука.

Рисунок 8. Полет бабочки
4. Создать программный код в соответствии с практическим заданием: в результате щелчка по командной кнопке воспроизводится на поверхности формы простая мультипликацию (компонента MediaPlayer невидима в диалоговом окне приложения), например, бабочка перелетает с цветка на цветок
2. Деловая игра «Юный мультипликатор»
2.1 Подготовительный этап (1 урок)
Игровая цель состоит в том, что перед воспитанниками ставится задача создания мультсказки по мотивам известной сказки («Колобок», «Курочка Ряба», «Репка») с изменением сказочного сюжета Новая сказка войдет в мультмедийный сборник сказок «Ералаш сказок». Для проведения игры группа делится на две команды — киностудии.
Каждая киностудия на подготовительном этапе должна:
Выбрать название своей киностудии
Определиться над какой сказкой будет работать («Колобок», «Репка», Курочка Ряба» и др).
Определить контингент зрителей (дошкольники, школьники, взрослые) и придумать новый сказочный сюжет.
Выбрать режиссера, художников-мультипликаторов, сценариста, звукорежиссера.
Составить инструкции участникам игры.
Подготовить необходимый материал для создания сказки
Инструкции участникам игры
Режиссер-программист — осуществляет руководство работой киностудии; имеет решающий голос при определении сказочного сюжета на редакционном совете; несет ответственность за содержание и оформление окон мультимедийного приложения, в случае необходимости оказывает помощь художникам-мультипликаторам, сценаристу, звукорежиссеру; готовит презентацию сказочного мультфильма.
Сценарист — сочиняет сказочный сюжет; определяет содержание окон мультимедийного приложения, имеет совещательный голос на редакционном совете.
Художник-мультипликатор — подбирает сказочных персонажи и их возможные действия, выполняет рисунки в графическом редакторе Paint или создает анимационные сказочные сюжеты в Macromedia Flash на компьютере для оформления окон мультимедийного приложения; имеет совещательный голос на редакционном совете.
Звукорежиссер – подбирает звуковое и музыкальное сопровождение для приложения «Ералаш сказок», имеет совещательный голос на редакционном совете.
Каждый участник игры по заданию киностудии готовит необходимый материал. На редакционном совете обсуждаются содержание и оформление приложения, вносят изменения, утверждают.
2.2 Создание мультсказки (3 урока)
Этот этап проводится на трех уроках. Каждый воспитанник работает по заданию своей киностудии и создает свои страницы, дополняет страницы своих коллег мультимедийного приложения «Ералаш сказок». Художники-мультипликаторы создают сказочные персонажи и «оживляют» их, применяя полученные знания по созданию покадрового мультфильма. Звукорежиссер озвучивает сказочные сюжеты в соответствии с написанным сценарием сказки. Сценарист создает текстовое содержание страниц мультимедийного приложения «Ералаш сказок» Режиссер-программист «монтирует» кадры мультсказки и отлаживает программу до рабочего состояния.
2.3 Презентация и подведение итогов (1 урок)
Каждая киностудия представляет свою новую мультсказку перед своим соперником. Преподаватель подводит итоги работы и определяет лучшую мультсказку по следующим номинациям:
Ожидаемые и полученные результаты
Уроки строятся на деятельной основе с использованием приемов моделирования решения задачи в реальной жизни. Объекты программы выбраны с учетом интересов учащихся. Сюжет разработан таким образом, чтобы в нем присутствовал динамизм и перспективы. При разработке сюжета учитывалось, в чем состоит процесс мультипликации в реальной жизни и как он соотносится с решением учебной задачи. При разработке содержания задачи были поставлены игровые и учебные цели, определен объем необходимых знаний, функции и инструкции воспитанникам, критерии оценки. На уроках реализовываются принципы научности и новизны. Уроки носят практический характер и обеспечивают развитие познавательной деятельности и решение поставленных учебных задач. В результате работы над своими программами дети обобщают знания по работе со средой разработки Delphi 7.0 и c графическим редактором Paint, получают навыки составления графических и мультимедийных программ, что в дальнейшем окажет им огромную помощь при составлении программ по другой тематике или по другим предметам школьного курса. Занятия интересны воспитанникам и помогают в ненавязчивой игровой форме достичь поставленных целей.
Сами программы красочно оформляются и содержат интересные элементы, лучшие программы могут быть представлены и доработаны до конструктора мультфильмов.
Список литературы
1. Симонович С.В. «Общая информатика, 5-9 класс».
2. Симонович С.В. «Практическая информатика, 5-11 класс».
3. Симонович С.В. «Специальная информатика, 10-11 класс».
4. «Увлекательная информатика.5-11 классы: логические задачи, кроссворды, ребусы, игры» авт.-сост.Н.В.Владимирова. – Волгоград:Учитель, 2011
5. «Клуб веселых информатиков: занимательные уроки, внеклассные мероприятия»/авт.-сост.Л.Н.Горбунова,Т.П.Лунина. – Волгоград:Учитель, 2009
б. Семакин И. «Информатика. Базовый курс, 7-9 классы».
7. Каймин В.А. «Информатика».
8. Радченко Н.П. «Школьная информатика. Экзаменационные вопросы и ответы.»
9. 3алогова Л. «Информатика. Задачник - практикум, 1,2 тома»
10. Житкова О.А. «Бейсик и Паскаль: от простого к сложному».
11. Соловьева Л.Ф. «Информатика и ИКТ» методическое пособие для учителей 8-9 класс.,2009
12. Шауцукова Л.З. «Информатика». Учебное пособие для 10-11 кл.
13. Угринович Н.Д. «Информатика и информационные технологии».
Учеб.пособие для 10-11 кл.
14. Ефимова О., Морозов В., Угринович Н. «Курс компьютерной технологии с основами информатики». Учебное пособие для 10-11 кл.
15. Смирнова И.Е. «Начала WEB-дизайна».- СПб:БХВ-Петербург,2005
16. Сандерс Б. «Эффективная работа:Flash5»- СПб:БХВ-Петербург,2003
17. В.Рейнбоу «Компьютерная графика. Энциклопедия». - СПб:БХВ-Петер-бург,2003
18. Культин Н.В. «Основы программирования в Delphi 7» - СПб:БХВ-Петербург,2003
19. Леонтьев Б.К. «WEB-дизайн: тонкости, хитрости и секреты» -М.:Майор, 2001
20. Рапаков Г.Г., Ржеуцкая С.Ю. «Turbo Pascal для студентов и школьников».- СПб:БХВ-Петербург,2003
21. Усенков Д.Ю. «Уроки Web-мастера».- М.: БИНОМ. Лаборатория знаний, 2004
22. Молодцов В.А., Рыжикова Н.Б. «Современные открытые уроки информатики 8-11 кл.- Ростов н/Д: Изд-во «Феникс», 2004
23. Соловьева Л.Ф. «Информатика в видеосюжетах»- СПБ:БХВ-Петербург, 2002
24. Тимофеев Г.С., Тимофеева Е.В. «Графический дизайн -Ростов н/Д: Изд-во «Феникс», 2004
Приложения
Приложение 1. Раздаточный материал
Листинг Мультик (использование метода СopyRect)
unit multik_;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
procedure FormActivate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
const
FILMFILE = 'film.bmp'; // фильм - bmp-файл
N_KADR=9; // кадров в фильме (для данного файла)
var
Film: TBitMap; // фильма - все кадры
// Kadr: TBitMap; // текущий кадр
WKadr,HKadr: integer; // ширина и высота кадра
CKadr: integer; // номер текущего кадра
RectKadr: TRect; // положение и размер кадра в фильме
Rect1 : Trect; // координаты и размер области отображения фильма
procedure TForm1.FormActivate(Sender: TObject);
begin
Film := TBitMap.Create;
Film.LoadFromFile(FILMFILE);
WKadr := Round(Film.Width/N_Kadr);
HKadr := Film.Height;
Rect1 := Bounds(10,10,WKadr,HKadr);
Ckadr:=0;
Form1.Timer1.Interval := 150; // период обновления кадров - 0.15 сек
Form1.Timer1.Enabled:=True; // запустить таймер
end;
// отрисовка кадра
procedure DrawKadr;
begin
// определим положение текущего кадра в фильме
RectKadr:=Bounds(WKadr*CKadr,0,WKadr,HKadr);
// вывод кадра из фильма
Form1.Canvas.CopyRect(Rect1,Film.Canvas,RectKadr);
// подготовимся к выводу следующего кадра
CKadr := CKadr+1;
if CKadr = N_KADR
then CKadr:=0;
end;
// обработка сигнала от таймера
procedure TForm1.Timer1Timer(Sender: TObject);
begin
DrawKadr;
end;
end.
R
ect1- область, в которой отображаются кадры фильма

Саnvas2 – поверхность невидимого объекта типа TBitmap, содержит все кадры фильма



Саnvas1 – поверхность формы Rect2- отображаемый кадр фильма (компонента Image)
Рисунок 4. Метод CopyRect
Стрелка
В
ыделяет, меняет форму кривых и передвигает элементы на рабочем поле. Вырезает прямоугольные области рисунка.
Линия
Позволяет рисовать прямые линии.

Перо
Позволяет рисовать кривые линии.
О
вал
Позволяет рисовать овалы и круги.
К
арандаш
Позволяет создать произвольную линию
Ч
ернильница
Меняет цвет, толщину, стиль нарисованной линии
П
ипетка
Берет информацию о цвете и стиле изображения

Рука
Двигает рабочее поле


Магнит
В
Выпрямляет линию

ключает и выключает «намагничивание»
Сглаживает выделенные кривые

Увеличивает(уменьшает) объект
Вращает и наклоняет выделенный объект
Лассо
Выделяет произвольную часть рисунка.
Текст
Позволяет вводить текст
Прямоугольник
Позволяет рисовать прямоуголь-ники и квадраты.
Кисть
Позволяет создать произвольный штрих
Ведро заливки
Заливает контур выбранным цветом
Ластик
Стирает линии и заливку
Лупа
Изменяет масштаб изображения
Приложение 2
Тематический план по разделу
«Графические и мультимедиа возможности DELPHI 7.0»
| № п/п | Тема урока | Теория | Практика |
| I. Графические возможности DELPHI 7.0 | 8 | 8 |
| 1 | Холст. Карандаш и кисть. | 1 | 1 |
| 2 | Вывод текста | 1 | 1 |
| 3 | Методы вычерчивания графических примитивов. Линия. Ломаная линия. Прямоугольник. Многоугольник. | 1 | 1 |
| 4 | Окружность и эллипс. Дуга Сектор Точка | 1 | 1 |
| 5 | Вывод иллюстраций. Битовые образы | 1 | 1 |
| 6 | Мультипликация | 1 | 1 |
| 7 | Метод базовой точки | 1 | 1 |
| 8 | Использование битовых образов с подключением файла ресурса | 1 | 1 |
| II. Мультимедиа возможности DELPHI 7.0 | 5 | 5 |
| 1 | Компонент Animate | 1 | 1 |
| 2 | Компонент MediaPlayer | 1 | 1 |
| 3 | Воспроизведение звука | 1 | 1 |
| 4 | Запись звука | 1 | 1 |
| 5 | Просмотр видеороликов и анимации | 1 | 1 |
| III. Обобщающие уроки по разделу «Графические и мультимедиа возможности DELPHI 7.0» | 2 | 9 |
| 1 | Урок-практикум «Создание покадрового мультфильма методом CopyRect» | 1 | 2 |
| 2 | Урок-практикум «Создание покадрового мультфильма c помощью программы Macromedia Flash» | 1 | 2 |
| 3 | Деловая игра «Юный мультипликатор» | 0 | 5 |
25