это быстро и бесплатно
Оформите заказ сейчас и получите скидку 100 руб.!
Ознакомительный фрагмент работы:
Владимир Коробицын
Компонент таймер и его свойства
Мультимедийное приложение будет неполным без каких-либо элементов анимации. Для того чтобы заставить двигаться, например, автомобиль воспользуемся компонентом типа таймер.
Таймер имеет совсем небольшой набор свойств по сравнению с другими компонентами 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. Проверьте приложение в работе со звуковым сопровождением.
Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников
Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.
Цены ниже, чем в агентствах и у конкурентов
Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит
Бесплатные доработки и консультации
Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки
Гарантируем возврат
Если работа вас не устроит – мы вернем 100% суммы заказа
Техподдержка 7 дней в неделю
Наши менеджеры всегда на связи и оперативно решат любую проблему
Строгий отбор экспертов
К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»
Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован
Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн
«Кабинетное исследование методом контент-анализа»
Самостоятельная работа, Исследования в логистике
Срок сдачи к 30 авг.
Написать доклад по экономике на тему: « Трансформация профессиональных компетенций бухгалтера-аналитика в условиях цифровой экономики: вызовы системе образования»
Доклад, Научно-исследовательская работа
Срок сдачи к 31 авг.
Все задание указано в методических рекомендациях 5й курс
Курсовая, Курсовая работа 5й курс
Срок сдачи к 30 авг.
Процессуальные вопросы участия военного прокурора в уголовных делах о применении судебного штрафа
Диплом, Уголовный процесс
Срок сдачи к 9 окт.
помогите с заданием. нужно проверить текст, чтобы он не выглядел как ИИ
Самостоятельная работа, практика, русский язык
Срок сдачи к 25 авг.
Выполнить курсовую работу по предмету право интеллектуальной собственности на тему "Правовая охрана фирменных наименований. Понятие, признаки, субъекты права на фирменное наименование"
Курсовая, Право интеллектуальной собственности
Срок сдачи к 6 сент.
Отраслевая структура экономики России: современные тенденции развития
Курсовая, Экономика
Срок сдачи к 31 авг.
Создать педагогический авторский проект воспитательной или образовательной работы
Доклад, Педагогическая психология
Срок сдачи к 29 авг.
Подбор и научно-методическое обоснование темы магистерской диссертации по психологии
Другое, Психология
Срок сдачи к 31 авг.
Адыгозалов Илькин Эльшад оглы Левел мосап 6 семестр
Отчет по практике, Технологическая (проектно-технологическая) практика | П.В | Производственная практика
Срок сдачи к 27 сент.
Заполните форму и узнайте цену на индивидуальную работу!