51346

Анимация в C++ Builder

Лабораторная работа

Информатика, кибернетика и программирование

Цель работы: Написать программу, рисующую анимацию по заданному образцу. Общий вид программы следующий...

Русский

2014-02-09

73.5 KB

113 чел.

Лабораторная работа 1

Анимация в C++ Builder

Выполнил: Шуклецов М.А.

 ФРТ, гр. 2106

Цель работы: Написать программу, рисующую анимацию по заданному образцу.

Общий вид программы следующий:

Код программы:

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

Graphics::TBitmap *back;

Graphics::TBitmap *plane;

Graphics::TBitmap *man;

Graphics::TBitmap *ground;

int x,y;

int x1,y1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

       : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

 back = new Graphics::TBitmap;   //Загрузка в память изображения

 back->LoadFromFile("sky.bmp");

 plane = new Graphics::TBitmap;

 plane->LoadFromFile("plane.bmp");

 plane->Transparent = true;   //Делает прозрачным белое поле вокруг изображения

 man = new Graphics::TBitmap;

 man->LoadFromFile("man.bmp");

 man->Transparent = true;

 ground = new Graphics::TBitmap;

 ground->LoadFromFile("ground.bmp");

 ground->Transparent = true;

 Image1->ClientHeight = back->Height;

 Image1->ClientWidth = back->Width;

 Form1->ClientWidth = back->Width;

 Form1->ClientHeight = back->Height;

 x = -60;

 y = 30;

 x1 = -60;

 y1 = 60;

 Timer1->Interval = 24;    //Задание интервала сброса таймера

 Timer1->Enabled = true;    //Включение таймера

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)

{

 if ((!back->Empty) && (!plane->Empty ) ){  //Первоначальная прорисовка

 Canvas->Draw(0,0,back);        

 Canvas->Draw(x,y,plane);       

 Canvas->Draw(0,0,back);        

 Canvas->Draw(250,180,man);    

 }

 else {

   Canvas->TextOut(10, 10, "Ошибка загрузки битовых образов");

   }

TRect r;       //Определение переменной типа TRect

 r = Rect(x, y, x+plane->Width, y+plane->Height);  //Задание координат прямоугольника

 Canvas->CopyRect(r, back->Canvas, r);   //Перенос образ изображения на канву

 x = x+1;      //Изменение координаты

 Canvas->Draw(x, y, plane);    //Прорисовка самолета

 if ( x > Form1->Width + plane->Width + 10)  //проверка выхода за границы области

 {

       x = -60;

 }

    r = Rect(x1, y1, x1+plane->Width, y1+plane->Height);

 Canvas->CopyRect(r, back->Canvas, r);

 x1 = x1+ 2;

 Canvas->Draw(x1, y1, plane);

 if ( x1 > Form1->Width + plane->Width + 10)

 {

       x1 = -60;

 }

}

//---------------------------------------------------------------------------

Вывод: Мы научились получать подобие анимации.


 

А также другие работы, которые могут Вас заинтересовать

1997. Маркетинг услуг 1.05 MB
  Современная концепция маркетинга услуг. Маркетинг взаимоотношений с клиентами. Покупательское поведение и сегментация потребителей. Мотивация покупательского поведение.
1998. Музыкальные инструменты монголов 989.27 KB
  Влияние музыки Китая на монгольскую музыкальную культуры и создание своеобразных музыкальных инструментов. Храмовые и дворцовые музыкальные инструменты. Нотная система у монголов
1999. Проектирование зоны второго технического обслуживания для автотранспортных предприятий со списочным составом 763.35 KB
  Спроектировать зону второго технического обслуживания (ТО-2) для автотранспортных предприятий (АТО) со списочным составом: КамАЗ – 5320 70 шт. Lcc - 300 км Категория условий эксплуатации (КУЭ) - II для всех автомобилей. Климатическая зона — умеренно-холодная. Дней рабочих в году - 305.
2000. Самостоятельная работа студентов при изучении курса отечественной истории 686.13 KB
  Учебно-исследовательская работа студентов, примерные темы рефератов, эссе, докладов. Основная и дополнительная литература. Вопросы для самоконтроля и образцы контрольных тестов.
2001. Создание промежуточных отчетов 33.01 KB
  Список с исходными данными о сотрудниках. Промежуточный отчет, вычисляющий значение фонда заработной платы для каждого цеха. Круговая диаграмма на основании рассчитанных значений фонда заработной платы на каждого цеха.
2002. Совместная воспитательная работа школы, семьи и общественности 35.03 KB
  Сочетание общественного и семейного воспитания как важнейшая предпосылка повышения его эффективности. Социально-экономические факторы повышения роли школы в организации воспитательной работы семьи и общественности. Организационно-педагогическая работа школы с родителями. Органы родительской общественности в школе.
2003. Майбутнє країни залежить від нас 43.11 KB
  Мета: привернути увагу підлітків до питання вибору професії та її значення, звернути увагу на фактори, що обумовлюють вибір людиною тієї або іншої спеціальності, поговорити про помилки, які допускаються при обранні професії, наголосити на важливості прийняття правильного вибору фаху для подальшого щасливого життя.
2004. Культура поведения, Воспитательное мероприятие 34.5 KB
  Учебные заведения, магазины, учреждения, театры, выставки – все это как принято говорить, общественные места. Мы идем туда по делу или отдохнуть, или на учебу, но всегда должны помнить, что рядом с нами, вокруг нас живут люди, они могут быть нашими знакомыми
2005. Ультразвукове дослідження стисливості кремній–органічних з’єднань 6.36 MB
  встановлення характеру особливостей температурної залежності реологічних та акустичних властивостей кремнійорганічних сполук вздовж кривої рівноваги, виявлення і з’ясування молекулярних та флуктуаційних механізмів релаксаційних процесів, що мають місце у досліджуваній системі вздовж кривої рівноваги.