Реферат по предмету "Программирование"


Простейшие приемы построения анимации

Простейшие приемы построения анимации

Владимир Коробицын
Компонент таймер и его свойства

Мультимедийное
приложение будет неполным без каких-либо элементов анимации. Для того чтобы
заставить двигаться, например, автомобиль воспользуемся компонентом типа
таймер.

Таймер
имеет совсем небольшой набор свойств по сравнению с другими компонентами C++
Builder, но обладает ничем неограниченными способностями ловко управлять
работой приложения во временном пространстве с точностью до одной миллисекунды.
Что бы поместить таймер на стартовую форму Form1, нужно кликнуть мышью в
главном окне во вкладке System по кнопке Timer (Таймер) с изображением
циферблата часов со стрелками, а затем по самой форме в любой ее рабочей части.
Этот компонент во время работы приложения является невидимым. А вот во время
построения проекта приложения таймер виден на форме, и поэтому программисту
удобно в любое время быстро обратиться к его свойствам или к функции обработки
Timer1Timer события OnTimer (Таймер включен). На форме можно установить столько
таймеров, сколько вам необходимо. Важнейшим свойством компонента таймер
является Interval (Интервал), значение которого по умолчанию составляет 1000
миллисекунд (одна секунда). Свойство Enabled (Разрешение работать) включает или
же выключает таймер в зависимости от его значения (true или false). Значение
этих свойств можно задать как до запуска проекта, так и изменять их программным
способом во время работы проекта. Событие Timer1Timer наступает по истечении
реального времени эквивалентного значению свойства Interval для таймера. До тех
пор пока таймер не выключен, это событие будет наступать вновь и вновь.

Откройте
новый проект. На форме расположите таймер Timer1, для его свойства Enabled
установите значение false, а для свойства Interval значение 10 миллисекунд, что
будет соответствовать одной сотой доле секунды.

В
нашем случае кроме компонента таймер Timer понадобится компонент образ Image.
Установите на форму компонент образ Image1. Подберите небольшой по размерам
рисунок с изображением автомобиля и поместите его в образ Image1, используя
свойство Picture. Свойству AutoSize придайте значение true. Установите для
свойства Left значение в 15 единиц, для того чтобы автомобиль мог стартовать из
левой части формы. Размеры формы измените с помощью мыши так, чтобы ее ширина
была чуть меньше общей ширины экрана, а ее высота примерно в два раза превышала
высоту автомобиля.

В
функцию обработки Image1Click поместите строку программного кода:

Timer1->Enabled
= true; //включить первый таймер

Таким
образом, при одиночном клике мышью по автомобилю, будет запущен таймер, и через
каждые десять миллисекунд будет выполняться инструкция, которую вы должны
разместить в функции обработки Timer1Timer события OnTimer – таймер включен:

//перемещение
автомобиля вправо на 30 единиц

Image1->Left
= Image1->Left + 30;

Где,
Left (левый край) это свойство компонента Image1. Значение этого свойства будет
очень быстро нарастать. В результате получим эффект перемещения автомобиля по
горизонтали. Запустите проект приложения на выполнение. Кликните мышью на
автомобиль, и он устремится в бесконечность. Закройте приложение. Если вы
хотите снизить скорость автомобиля, то приращение его перемещения в 30 единиц
уменьшите до 15.

Заставим
автомобиль в любое время возвращаться по велению пользователя на стартовую
позицию по одиночному щелчку на форме. В функцию обработки FormClick запишите
строку:

Image1->Left
= 15; //возврат на стартовую позицию

Запустите
проект приложения и проверьте эту инструкцию в работе, кликнув мышью вначале по
автомобилю, а затем на форме.

Остановим
автомобиль на середине формы. Для этой цели установите на форму второй таймер
Timer2. Его свойству Enabled придайте значение false, а свойству Interval
значение 145 (возможно это значение придется подобрать из-за другого разрешения
вашего экрана по горизонтали). В функцию обработки Image1Click допишите строку:

Timer2->Enabled
= true; //включить второй таймер

В
функции обработки Timer2Timer события OnTimer напишите программный код:

Timer1->Enabled
= false; //выключить первый таймер

Timer2->Enabled
= false; //выключить второй таймер

Таким
образом, при клике мышью по автомобилю включатся оба таймера. Первый таймер
будет отвечать за перемещение автомобиля через каждые 10 миллисекунд, а второй
таймер при достижении интервала времени в 145 миллисекунд выключит первый
таймер для остановки автомобиля и выключится сам. Если кликнуть по автомобилю
второй раз, он передвинется к правому краю формы. При третьем клике автомобиль покинет
границы формы. Для его возврата на стартовую форму кликните мышью по форме.
Проверьте, так ли работает приложение.

Анимация
станет эффектнее, если ее озвучить. Для этого воспользуйтесь уже знакомым вам
компонентом MediaPlayer. Его свойству Visible придайте значение false, для того
чтобы в работе приложения этот компонент оказался невидимым. Подберите звуковой
файл с расширением WAV, содержащий, например, «рев двигателя» или «скрип шин»
протяженностью одна – две секунды. Скопируйте этот файл в папку вашего проекта.
В функцию обработки Image1Click добавьте программный код, причем выше ранее
записанных двух инструкций:

MediaPlayer1->Close();  //закрыть файл

MediaPlayer1->FileName =
"Auto.wav";

MediaPlayer1->Open();  //открыть файл

MediaPlayer1->Play();  //воспроизвести файл

Аналогичным
образом озвучьте возврат автомобиля на стартовую позицию файлом содержащем,
например, «сигнал автомобиля». Можно воспользоваться уже установленным
компонентом MediaPlayer1. Проверьте приложение в работе со звуковым сопровождением.
Список литературы

Для
подготовки данной работы были использованы материалы с сайта http://bc.boom.ru/


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Петербургская конвенция 1810
Реферат The Electric Ant By Philip K Dick
Реферат London (Places to Visit)
Реферат Повышение эффективности потребления энергии жилыми и общественными зданиями
Реферат А основе сопоставления расчетных частот собственных колебаний с граничными значениями, полученными при натурных измерениях на более, чем 300 пролетных строениях
Реферат I Choose Thus Project Because When Watching
Реферат Анализ инвестиционной привлекательности и кредитоспособности заемщика. Введение список использованной литературы
Реферат «Информационные и телекоммуникационные технологии» региональное отделение
Реферат Проявления и динамика авторитарного сознания в социокультурных установках городского населения
Реферат Применение нормативного метода планирования, учета и калькуляции себестоимости продукции (работ, услуг) для выявления путей снижения себестоимости продукции
Реферат Сахароза свойства и содержание в природе
Реферат Моделирование подготовленности к соревновательной деятельности юных легкоатлетов
Реферат Технология производства и потребительские свойства стекла листового
Реферат Экзаменационные билеты по информатике
Реферат «невостребованности методологии». В ходе последней прозвучало следующее программное заявление: «Чтобы установиться заново, методология должна серьезно заняться социальными науками и практиками, подвергнуть их анализу и критике, выработать схемы и мет