51346

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

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

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

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

Русский

2014-02-09

73.5 KB

96 чел.

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

 }

}

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

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


 

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

72019. Цикл нестандартних уроків з використанням мультімедійних технологій. Математика, 1 клас 240.5 KB
  Робота вчителя початкових класів дуже складна та відповідальна, і складність її полягає у тому, що необхідно викликати в учнів інтерес до знань, не згасити цей вогник допитливості, навчити кожного з них вчитися, запевнити у своїх силах.
72020. ВПРАВИ ЗАДАЧІ І НА ЗАСВОЄННЯ ТАБЛИЦЬ ДОДДВАННЯ І ВІДНІМАННЯ ЧИСЛА 3. РОЗ’ЯЗУВАННЯ ЗАДАЧ НА ЗНАХОДЖЕННЯ СУМИ. ВИМІРЮВАННЯ ДОВЖИНИ ВІДРІЗКА 49 KB
  Подивіться на малюнок які пташки першими прилетіли до годівнички Синиці Скільки їх А які ще птахи прилетіли Снігурі Скільки їх Нам потрібно знайти скільки всього пташок стало Якою дією ми можемо дізнатися скільки всього пташок прилетіло до годівнички...
72022. Языком математики о природе и здоровье. Решение примеров на сложение и вычитание в пределах 10 29.5 KB
  Цели: Упражняться в решении примеров и задач; развивать речь и гибкость ума; закреплять знания о живой природе о значении растений в жизни человека об их лечебных свойствах; о птицах о пользе воспитывать любовь к математике. Оборудование: Карточки с решением примеров...
72023. Складання таблиці додавання і віднімання числа 4. Розв’язування задач на знаходження суми й різниці (1 клас) 32.5 KB
  Мета: Розкрити принципи укладання таблиць додавання і віднімання числа 4. Формувати вміння додавати число частинами порівнювати значення виразів з даними числами. Формувати знання таблиць додавання і віднімання числа 4.
72024. Упражнение на применение способов сложения и вычитание чисел частям. Задачи на разностное сравнение чисел 94 KB
  Цель урока. Повторить и закрепить умения учащихся прибавлять и отнимать частями с переходом через десяток; формировать навыки решения задач; Развивать умение определять геометрические фигуры; развивать логическое мышление, связную речь, воспитывать навыки самоконтроля, чувства товарищества.
72025. МЕТОДИ І МОДЕЛІ СТВОРЕННЯ ВІДМОВОСТІЙКИХ ІНФОРМАЦІЙНО-УПРАВЛЯЮЧИХ СИСТЕМ, ЩО ФУНКЦІОНУЮТЬ У МОДУЛЯРНІЙ СИСТЕМІ ЧИСЛЕННЯ 1.28 MB
  Проведений аналіз світового досвіду створення і експлуатації пристроїв що реалізовують принципи модулярної системи числення МСЧ дозволяє виділити наступні основні напрями впровадження наукових розробок в цій області: програмна реалізація модулярних засобів обробки інформації...
72026. ДІАГНОСТИКА ЕНЗООТИЧНОЇ ПНЕВМОНІЇ СВИНЕЙ МЕТОДАМИ ПОЛІМЕРАЗНОЇ ЛАНЦЮГОВОЇ РЕАКЦІЇ ТА ІМУНОФЕРМЕНТНОГО АНАЛІЗУ 398.5 KB
  Як свідчать численні дані вітчизняних і зарубіжних авторів, труднощі, пов’язані з культивуванням мікоплазм та очищенням їх імунологічно значущих протеїнів для виготовлення специфічних діагностичних тест-систем, зумовлюють потребу в удосконаленні біотехнологічних прийомів,...
72027. УДОСКОНАЛЕННЯ МЕТОДІВ ТА ЗАСОБІВ ФОРМУВАННЯ ЗОБРАЖЕННЯ ТЕПЛОВІЗІЙНОЮ СИСТЕМОЮ 2.35 MB
  Однак аналіз виконаний в дисертаційній роботі показує що ефективність та сфера застосування ТС можуть бути суттєво розширені за умови удосконалення методів та засобів обробки формованих нею зображень шляхом обробки даних стосовно просторової роздільної здатності чутливості контрасту...