Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
С элементами анимации и мультипликации типа «Тараканьи бега»Содержание книги
Поиск на нашем сайте
Рассмотрим пример проекта «Тараканьи бега», в котором одновременно используется движение объекта и изменение вида этого же объекта. В этом проекте требуется организовать соревнование двух тараканов. Выигрывает бега тот, кто быстрее доберется до старта. Во время движения тараканов нужно показать различные виды расположения их ног при беге. В графическом редакторе выполним изображения тараканов подобно тому, как изображено на рис. 22:
n1.bmp n2.bmp n3.bmp n4.bmp
m1.bmp m2.bmp m3.bmp m4.bmp Рис. 22 Изображения тараканов
На форму в компоненты Image1 и Image2 загрузим рисунки тараканов перед стартом (рис. 23). Объекты Timer1 и Timer2 с интервалом 100 каждый будут отвечать за движение красного и желтого тараканов соответственно. Для отображения надписи с названием победителя забега будет служить помещенная на форму метка Label1.
Рис. 23 Графический интерфейс проекта «Тараканьи бега»
Сначала опишем бег красного таракана. Для задания его движения нужно изменять его координату по оси Ox или свойство Left на некоторое число. Чтобы скорость таракана могла меняться случайным образом, свойство Left следует увеличивать на случайное число: Image1.Left:=Image1.Left + random(10). В описанном операторе число может принимать любые случайные значения в диапазоне от 0 до 9. При достижении красным тараканом правой границы бега должны прекратиться, и если он пришел первым, то в надпись Label1 следует вывести сообщение: «Победил красный». Эти действия можно описать с помощью следующего условного оператора: If Image1.Left>(Form1.Width – Image1.Width) then Begin Timer1.Enabled:=false; Timer2.Enabled:=false; Label1.Caption:=’Победил красный’; end; Чтобы у таракана при беге менялось расположение ног, используем переменную-счетчик n, которая может принимать четыре значения. В зависимости от значения n в компонент Image1 будет загружаться соответствующий рисунок: n:=n+1; if n>4 then n:=1; if n=1 then image1.Picture.LoadFromFile('n1.bmp'); if n=2 then image1.Picture.LoadFromFile('n2.bmp'); if n=3 then image1.Picture.LoadFromFile('n3.bmp'); if n=4 then image1.Picture.LoadFromFile('n4.bmp'); Таким образом, текст обработчика события OnTimer, описывающего движение красного таракана будет следующим:
Аналогично задается перемещение желтого таракана:
Задание случайной скорости у тараканов возможно не только за счет изменения положения объектов относительно левой границы случайным образом. Скорость движения тараканов также можно изменять с помощью введения случайного интервала времени у таймеров. Тогда возможен следующий текст программного кода:
Управление объектами
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-01-25; просмотров: 218; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.25.100 (0.006 с.) |