51346

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

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

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

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

Русский

2014-02-09

73.5 KB

76 чел.

Лабораторная работа 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;

 }

}

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

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


 

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

640. Организационное проектирование, оценка эффективности организационных систем 135 KB
  Основные методологические принципы построения организационных структур. Понятие экспертного метода, метода структуризации целей, метода организационного моделирования, метода аналогий. Этапы проектирования, эффективность организационных изменений.
641. Анализ использования трудовых ресурсов на предприятии 118 KB
  Анализ использования трудовых ресурсов ООО Каравай. Анализ использования трудовых ресурсов, направления анализа численности и состава рабочей силы. Мероприятия, направленные на улучшение использования трудовых ресурсов в ООО Каравай на 2012.
642. Виды отчетов и способы их составления программными средствами 124 KB
  В практике маркетинговых исследований существует три основных вида отчета: устный, письменный краткий и письменный подробный. Как правило, контракты предусматривают устный и один из видов письменных отчетов.
643. Тяговый расчет автомобиля ЗиЛ-133Г1 1017 KB
  Построение внешней скоростной характеристики двигателя Камаз-7401. Графики силы сопротивления качению колес автомобиля по дорожному покрытию. Определение силы сопротивления качению колес автомобиля по дорожному покрытию. Значения силы тяги на колесах и скорости автомобиля Зил-133Г1.
644. Теоретические основы налогового права 128 KB
  Дайте определение понятию налоговое право. Руководствуясь ст. 2 НК РФ, охарактеризуйте его предмет. Каким образом законодательство о налогах и сборах (ст. 45 НК РФ) определяет момент исполнения налогоплательщиком обязанности по уплате налогов и сборов. Каковы правовые последствия подачи налогоплательщиком жалобы.
645. Совместная работа основания и сооружения 155 KB
  Формы деформаций сооружений. Чувствительность конструкций к неравномерным осадкам. Меры по уменьшению чувствительности зданий к неравномерным осадкам. Комплексная взаимозависимость факторов для решения задачи по устройству фундаментов.
646. Вдосконалення системи автоматизації відділення випарної станції 92 KB
  Умови праці. Наявність шкідливих та небезпечних факторів на робочому місці. Санітарно-гігієнічні вимоги до виробничих приміщень та розміщення технологічного обладнання. Розрахунок звукопоглинаючої конструкції операторського пункту.
647. Использование языка AHDL при проектировании цифровых устройств 159.5 KB
  Описание комбинационного устройства на языке AHDL. Реализация комбинационного устройства в CPLD и FLEX (выбор микросхемы, полная компиляция, моделирование, анализ, быстродействия и временных задержек). Функциональная компиляция и моделирование устройств.
648. Разработка и исследование характеристик платформенной инерциальной навигационной системы полуаналитического типа, построенной с использованием лазерных гироскопов 1.25 MB
  Краткое изложение теоретических сведений cистем координат в которой работает представленная ИНС. Пересчет координат из геоцентрической в географическую систему координат. Разработка алгоритма платформенной инерциальной навигационной системы, работающей в геоцентрической системе координат.