Анимация на языке программирования Delphi 7

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    535,06 Кб
  • Опубликовано:
    2015-05-07
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Анимация на языке программирования Delphi 7

Введениe

Появление Delphi тесно связанно с возникновением языка программирования Pascal. Который был разработан в 60-х годах прошлого века профессором Цюрихского университета Николосом Виртом, как учебный язык для студентов. Позднее, в 1983 году, один из учеников Вирта создал компанию Borland, и под его руководством Pascal превратился в мощное средство разработки программ.

Данная программа написана в среде Delphi. Среда программирования Delphi в настоящее время является одной из самых развитых систем визуального объектно-ориентированного программирования. Её возможности отвечают высоким требованиям и подходят для создания приложений любой сложности. Структурированность и простота Delphi делает его одним из совершенных языков программирования. На нем можно создать все, что делают на С++ избежав всех имеющихся в нем трудностей. Он позволяет с наименьшими усилиями создавать от простых приложений работающих на одном компьютере до корпоративных приложений, использующие серверные базы данных, расположенные на разных платформах. На Delphi возможно создать интернет приложения, коммерческие игры, утилиты и много других видов программ.

1. Блок-схема алгоритма работы программы

Блок-схема запуска главного таймера (рисунок 1).

Рисунок 1-Запуск анимации.

Основная логика программы ( рисунок 2).

Рисунок 2-Логика программы.

Рисунок 2-Логика программы (продолжение).

2. Компоненты программы

Запускаем программу. Видим форму, на которой расположены компоненты. Image1(1), image2(2), timer(3), mainmenu1(4), mediaplayer1(5).

Рисунок 3- Рабочая область.

Использованные свойства и события:

Form1 (главная форма программы, на ней расположены все компоненты):

-               Свойство DefaultMonitor - dmDesktop( расширение монитора);

-          Свойство Menu - MainMenu1(присваивание компонентов);

-          Событие OnCreate (отвечает за порядок событий);

4. MainMenu1 (панель, на которой расположены кнопки управления):

-               Свойство Items (определяет элементы подменю);

1. Image1 (фон):

-               Свойство Align - alClient (растягивает на всю длину);

-          Свойство Picture (указывает на хранящийся файл) ;

-          Свойство Stretch (определяет размеры файла);

2.Image2 (колобок):

-               Свойство Left (сдвигает левый край элемента);

-          Свойство Picture (указывает на хранящийся файл);

-          Свойство Stretch (определяет, изменяет ли размеры файл);

-          Свойство Top (определяет смещение по вертикали);

-          Свойство Transparent (определяет прозрачность элемента);

5.MediaPlayer1 (универсальный проигрыватель аудио- и видео-информации):

-               Свойство EnabledButton (указывает выбранную кнопку);

-          Свойство FileName (хранит объект воспроизведения в файле);

-          Свойство Visible (видимость);

3.Timer (не визуальный компонент, который может размещаться в любом месте формы. Позволяет задавать интервалы времени):

-               Свойство Interval (интервал времени в миллисекундах);

-          Свойство Enabled (доступность);

-          Событие OnTimer (отключает таймеры);

При запуске программы появляется рабочая область.

Чтобы запустить анимацию необходимо нажать "Запуск".

Для паузы и остановки соответственно "Пауза" и "Стоп" (рисунок 4).

программирование delphi анимация таймер

Рисунок 4 - Кнопки управления.

Запуск программы (рисунок 5).

Рисунок 5-Запуск.

При запуске анимации объект начинает движение (рисунок 6).

Рисунок 6- Анимация.

В конечном итоге объект падает в яму и исчезает (рисунок 7).

Рисунок 7 - Окончание действия.

Для того, чтобы вернуть объект в исходное положение необходимо нажать "Стоп".

. Листинг программы

Unit1;

interface

uses, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ExtCtrls, Menus, jpeg, MPlayer;

type= class(TForm): TImage;: TImage;: TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TTimer;: TMediaPlayer;: TTimer;: TTimer;: TTimer;Timer1Timer(Sender: TObject);N1Click(Sender: TObject);N2Click(Sender: TObject);Timer2Timer(Sender: TObject);Timer3Timer(Sender: TObject);N3Click(Sender: TObject);FormCreate(Sender: TObject);Image2DblClick(Sender: TObject);Timer4Timer(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm1;:array[1..100] of string;:integer;

{$R *.dfm}TForm1.Timer1Timer(Sender: TObject); // часть кода, которая отвечает за звуки

if image2.top=256 then begin.FileName:='oi2.wav';.Open;.Play;image2.Left=78 then begin.FileName:='smeh2.wav';.Open;.Play;;

// конец кода звуков

{

// это с прыжком, убираются фигурные скобки здесь и перед комментарием конца прыжка

image2.Left:=image2.Left-1;image2.Left=424 then.Enabled:=truebeginimage2.Top=168 then.Enabled:=true;;

// конец кода прыжка

// начало кода падения

if image2.Left=368 then begin // если колобок добрался до ямы, то он падает

image2.Top:=image2.Top+3;image2.Top=256 then // если колобок упал в яму, то он исчезает

image2.Visible:=false;// иначе продолжает катиться.Left:=image2.Left-1;

// конец падения

// эта строка отвечает за исчезновение колобка, когда он добирается до двери

if image2.Left=78 then image2.Visible:=false;;TForm1.N1Click(Sender: TObject);

timer1.Enabled:=true; // эта строка отвечает за всю анимацию

timer4.Enabled:=true;;TForm1.N2Click(Sender: TObject); // эта процедура нужна для "паузы" // ниже включаем все таймеры

timer1.Enabled:=false;

timer2.Enabled:=false;.Enabled:=false;.Enabled:=false;;TForm1.Timer2Timer(Sender: TObject); //эта процедура включает второй таймер, который отвечает за движение вверх во время прыжка

if image2.top=168 then //если колобок допрыгнул достаточно высоко, то выключаем таймер

timer2.Enabled:=falsebegin // иначе прыгаем выше.Top:=image2.Top-2;.Left:=image2.Left-2; // увеличивает в два раза координату оси Ох image2.top=168 then // дублирование первого условия для того, чтобы остановить таймер на высшей точке прыжка

timer2.Enabled:=false;;; TForm1.Timer3Timer(Sender: TObject); // процедура таймера , в котором прописано опускание колобка на землю после прыжка

beginimage2.Top=208 then.Enabled:=falsebegin.Top:=image2.Top+2;.Left:=image2.Left-2;;;

procedure TForm1.N3Click(Sender: TObject); // процедура возвращения колобка в исходное положение и отключение таймеров

begin.Top:=208;.Left:=600;.Enabled:=false;.Enabled:=false;.Enabled:=false;.Enabled:=false;2.Visible:=true; // колобок становится виден

image2.Picture.LoadFromFile('kolob.bmp');;TForm1.FormCreate(Sender: TObject);

doublebuffered:=true; // включает двойную буфферизацию для удаления эффекта мерцания

i:=1;[1]:='kolob.bmp';[2]:='kolob2.bmp';[3]:='kolob3.bmp';[4]:='kolob4.bmp';[5]:='kolob5.bmp';[6]:='kolob6.bmp';[7]:='kolob7.bmp';[8]:='kolob8.bmp';;TForm1.Image2DblClick(Sender: TObject);.Hint:=inttostr(image2.left);;TForm1.Timer4Timer(Sender: TObject); // отвечает за вращение колобка.Picture.LoadFromFile(rot[i]);:=i+1;i=8 then i:=1;;.

4. Используемые файлы

Project2.exe - выполняемый файл

Project2.dpr - файл проекта

Project2.cfg - файл конфигурации

Project2.dof - файл опций проекта

Project2.res - файл ресурсов

Unit1.dfm - файл формы 1

Unit1.pas - файл отдельного модуля (Unit 1)

Unit1.dcu - результат компиляции pas(Unit1)

Заключение

В данной работе я показала анимацию. Она состояла в том, чтобы объект (колобок), не доходя до домика, упал.

Благодаря этой работе, я научилась работать с графикой. А также освоила язык программирования Delphi.

Список литературы

1.        "Программирование в Delphi 7", Архангельский А. Я., "Бином-Пресс", 2003 г.

2.      "Технологии Delphi", Бобровский С., "Аст-Пресс", г. Москва, 2007г.

3.      http://www.rsdn.ru/article/Delphi/Delphi_7_02.xml

Похожие работы на - Анимация на языке программирования Delphi 7

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!