51346

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

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

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

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

Русский

2014-02-09

73.5 KB

95 чел.

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

 }

}

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

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


 

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

16990. Рішення задач матричної і векторної алгебри в Maple 356.5 KB
  Практична робота №30. Тема: Рішення задач матричної і векторної алгебри в Maple. Мета: Навчитися обчислювати визначників вирішувати системи лінійних рівнянь методом Крамера і матричним способом а також знаходити значення матричного многочлена використовуючи можлив
16991. Диференціальне і інтегральне числення функцій одного і декількох змінних в Maple 430.5 KB
  Практична робота №31. Тема: Диференціальне і інтегральне числення функцій одного і декількох змінних в Maple. Мета: Навчитися обчислювати межі часткову суму послідовностей похідні функцій і інтеграли в середовищі Maple. Обладнання: ПК зі встановленим математичним па
16992. Команди MS-DOS: cls, date, time, copy, del, dir, find, mem, mkdir, label, rd 72.5 KB
  Практична робота №1 Тема: Команди MSDOS: cls date time copy del dir find mem mkdir label rd. Мета: навчитися використовувати основні команди MSDOS при роботі з ОС. Устаткування: ПК. Операційна система MSDOS та Windows. Правила ТБ. Методичні рекомендації. Індивідуальне завда
16993. Профілі обладнання.Створення командних файлів 78.5 KB
  речка Ю.Г. Варіант 4 ВПЗ 2ПМС07 Практична робота №3 Тема: Профілі обладнання.Створення командних файлів. Мета: Навчитися створювати профілі обладнання та тривіальні команд
16994. Створення командних файлів. Створення файлів config.sys, autoexec.bat 36.5 KB
  Практична робота №3 Тема: Створення командних файлів. Створення файлів config.sys autoexec.bat. Мета: Навчитися створювати тривіальні командні файли; створювати файли config.sys autoexec.bat. Устаткування: ПК. Операційна система MSDOS та Windows. Хід роботи I. Слідуючи вказівкам напиш...
16995. Робота з файловими менеджерами для ОС MS-DOS. Настройка і створення меню користувача 294.5 KB
  Практична робота №2 Тема: Робота з файловими менеджерами для ОС MSDOS. Настройка і створення меню користувача. Мета: Навчитися працювати з каталогами файлами а також створювати і настроювати меню користувача. Устаткування: ПК. Файловий менеджер NC операційна система M...
16996. Робота з вікнами. Створення папок, текстових файлів. Копіювання, переміщення, перейменування, відновлення файлів. Створення ярликів 5.35 MB
  Практична робота №4 Тема: Робота з вікнами. Створення папок текстових файлів. Копіювання переміщення перейменування відновлення файлів. Створення ярликів. Мета: Навчитися виконувати основні операції над файлами. Устаткування: ПК. Операційна система Windows. ...
16997. Поняття і сутність менеджменту 6.35 MB
  ТЕМА 1. Поняття і сутність менеджменту Еволюція поглядів на сутність менеджменту Організація як обєкт управління. Менеджмент як вид професійної діяльності. Для позначення діяльності з координації роботи людей на практиці використовують різні по...