Реферат по предмету "Информатика"


Анімація в Delphi 7 0

КУРСОВИЙ ПРОЕКТ


з дисципліни


Основи програмування та алгоритмічних мов
На тему „Анімація
в
Delphi
7


Зміст


1.Вступ


2.Характеристика предметної області


3.Узагальнена схема алгоритму функціонування проекту


4. Проектування форм


5. Довідкова система


6. Проектування програмного забезпечення


7. Література


8. Додатки


Вступ


В сучасному світі чільне місце посідають комп’ютерні технології. Внаслідок швидкого розвитку цієї галузі комп’ютери тепер є доступними практично всім. А якщо людина має справу з комп’ютером, то рано чи пізно в неї виникне бажання програмувати. Але декілька років назад більшість мов програмування, таких, як TurboPascal, або BorlandC++ forWindows були досить складними для створення в них програм, якими було б зручно користуватись.


Бурхливий розвиток обчислювалної техніки, необхідність в ефективних засобах розробки програмного забезпечення призвели до появи систем програмування, орієнтованих на так звану „швидку розробку”, серед яких можна виділити BorlandDelphi і MicrosoftVisualBasic. В основі систем швидкої розробки покладена технологія візуального проектування і подійного програмування, суть якої заключається в тому, що область розробки бере на себе більшу частину рутинної роботи, залишаючи програмісту роботу по конструюванню діалогових вікон і функцій обробки подій. Продуктивність програміста при використанні систем швидкої розробки приложеній (RAD- систем) фантастична.


Delphi – це середовище швидкої розробки, в якій в якості мови програмування використовується мова Delphi. Мова Delphi – строго типізована об’єктно орієнтована мова, в основі якої лежить добре знайомий програмістам ObjectPascal.


Характеристика предметної області


Мультиплікація


Під мультиплікацією зазвичай мається на увазі малюнок, який рухається і змінюється. В найпростішому випадку малюнок може або тільки рухатися або тільки змінюватися


Малюнок може бути сформований з графічних примітивів (ліній, завкруглень, дуг, багатокутників і т, д.). Забезпечити переміщення малюнка досить просто: треба спочатку вивести малюнок на екран, потім через якийсь час стерти його і знову вивести цей малюнок, але вже на деякій відстані від його первісного положення. Підбором часу між виведенням і видаленням малюнка, а також відстані між старим і новим положенням малюнка (кроку переміщення), можна домогтися того, що в спостерігача буде складатися враження, що малюнок рівномірно рухається по екрані.


Метод базової крапки


При програмуванні складних зображень, що складаються з безлічі елементів, використовується метод, що називається методом базової крапки Суть цього методу полягає в наступному:


1. Вибирається деяка крапка зображення, що приймається за базову.


2. Координати інших крапок відраховуються від базової крапки.


3. Якщо координати крапок зображення відраховувати від базової у відносних одиницях, а не в пікселях, то забезпечується можливість масштабування зображення.


На мал. 1 наведене зображення кораблика. Базовою крапкою є крапка з координатами (Хо, Уо). Координати інших крапок відраховуються саме від цієї крапки.


Мал. 1. Визначення координат зображення щодо базової крапки


Узагальнена схема алгоритму функціонування проекту


Малювання і стирання зображення кораблика виконує процедура Titanic, яка одержує як параметри координати базової крапки і колір, яким треба намалювати зображення. Якщо при виклику процедури Titanic колір відрізняється від кольору тла форми, то процедура малює зображення, а якщо збігається - те "стирає". У процедурі оголошені константи dx і dу, що визначають крок (у пікселях), який використовується при обчисленні координат крапок зображення. Змінюючи значення цих констант, можна проводити масштабування зображення.


Проектування форм


Програма складається з одної форми на якій розміщені компоненти Timer1, SpeedButton1, SpeedButton2. У властивостях компонент SpeedButton1 і SpeedButton2 виставлені потрібні значення :


SpeedButton1


Caption:CLOSE


Flat:True


Font.Color:clNone


Font.Size:20


Hint:Закриває форму


ShowHint:True


SpeedButton2


Caption:STOP


Flat:True


Font.Color:clNone


Font.Size:20


Hint:Зупиняє рух зображення


ShowHint:True


У властивостях форми виставлено:


Caption:Animate


Constraints.MaxHeigth:380


Constraints.MaxWidth:536


Constraints.MinHeigth:380


Constraints.MinWidth:536


Останні чотири властивості забезпечують неможливість зміни розмірів форми.


Для того, щоб при запуску програми форма з’являлася в центрі екрану в її властивості Position виставлено значення poDesktopCenter.


Довідкова система


В програмі є дві підказки, які вказують на те, які функції виконують дві кнопки, які знаходяться на формі.


Проектування програмного забезпечення


В програмі використовуються змінні x,y,z,k,s,n і u типу integer.


За рух зображення відповідають змінні x,y,sі n, а змінні z,kiu є допоміжними. Змінні х і у відповідають за махаючі рухи «рук» і «ніг» «чоловічка», змінна s за переміщення його вздовж, а змінна т за його „підстрибування”.


Процедурамипрограмиє процедури Timer1Timer, FormActivate, SpeedButton1Click, SpeedButton2Click і Titanic.


Основна робота виконується процедурами Timer1Timer,FormActivate та процедурою Titanic. Процедура Titanic виконує малювання зображення, використовуючи графічну підсистему Delphi, Timer1Timer забезпечує рух і зміну зображення, а в процедурі FormActivate встановлюються початкові параметри.


Процедури SpeedButton1Click і SpeedButton2Click зв’язані з двома кнопками і призначені: SpeedButton1Click – для закриття програми, а SpeedButton2Click для зупинки зображення задопомогою зміни властивості interval компонента Timer1.


Література


Культин Н.Б., Основы программирования в
Delphi
7. – СПб.:БХВ-Петербург, 2003. – 608 с.:
ил.


Додатки


Форми




Головна форма програми


Тексти модулів програми


unit Unit1;


interface


uses


Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,


Dialogs, ExtCtrls, Buttons, StdCtrls;


type


TForm1 = class(TForm)


Timer1: TTimer;


SpeedButton1: TSpeedButton;


SpeedButton2: TSpeedButton;


procedure Timer1Timer(Sender: TObject);


procedure FormActivate(Sender: TObject);


procedure SpeedButton1Click(Sender: TObject);


procedure SpeedButton2Click(Sender: TObject);


private


{ Private declarations }


public


{ Public declarations }


end;


var


Form1: TForm1;


x,y,z,k,s,n,u:integer;


implementation


{$R *.dfm}


procedure titanic(x,y:integer;color:TColor);


const


dx=5;dy=5;


var


buf:TColor;


begin


with form1.Canvas do


begin


buf:=pen.Color;


pen.Color:=color;


moveto(0,161);


lineto(530,161);


ellipse(480,40,600,-80);


moveto(500,30);


if z=1 then


lineto(500-x*2,30+x*2);


moveto(480,10);


if z=1 then


lineto(480-x*2,10+x*2);


moveto(520,40);


if z=1 then


lineto(520-x*2,40+x*2);


ellipse (197+s,150-4*dy+n,202+s,150-3*dy+n);


moveto(200+s,150+n);


lineto(200+s,150-3*dy+n);


moveto(200+s,150+n);


if (z=1) then


lineto(200+x+s,150+y+n);


if (z=0) then


lineto(200-x+s,150+y+n);


moveto(200+s,150+n);


if (z=1) then


lineto(200-x+s,150+y+n);


if (z=0) then


lineto(200+x+s,150+y+n);


moveto(200+s,137+n);


if (z=1) then


lineto(200+x+s,137+y+n);


if (z=0) then


lineto(200-x+s,137+y+n);


moveto(200+s,137+n);


if (z=1) then


lineto(200-x+s,137+y+n);


if (z=0) then


lineto(200+x+s,137+y+n);


pen.Color:=buf;


end;


end;


procedure TForm1.Timer1Timer(Sender: TObject);


begin


titanic(x,y,form1.Color);


if n=-5 then


u:=1;


if n=5 then


u:=0;


if u=1 then


n:=n+1;


if u=0 then


n:=n-1;


if s<form1.ClientWidth then


s:=s+1


else


s:=0;


if x=0 then


z:=1;


if x=10 then


z:=0;


if y=0 then


k:=1;


if y=10 then


k:=0;


if z=1 then


x:=x+1;


if z=0 then


x:=x-1;


if k=1 then


y:=y+1;


if k=0 then


y:=y-1;


titanic(x,y,clWhite);


end;


procedure TForm1.FormActivate(Sender: TObject);


begin


with form1.Canvas do


begin


pen.Color:=clWhite;


moveto(0,160);


lineto(300,160);


end;


n:=0;


x:=0;


y:=10;


Form1.Color:=clNavy;


Timer1.Interval:=50;


s:=-100;


end;


procedure TForm1.SpeedButton1Click(Sender: TObject);


begin


form1.Close;


end;


procedure TForm1.SpeedButton2Click(Sender: TObject);


begin


if timer1.Interval<1000 then


timer1.Interval:=1000000000


else timer1.Interval:=10;


end;


end.



Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Физические основы классической механики
Реферат Документационное обеспечение предприятия
Реферат Национальный доход его производство, распределение и использование. Макроэкономический анализ совокупного спроса и совокупного предложения
Реферат Say Yes Essay Research Paper In the
Реферат Этапы производства по делам об административных правонарушениях
Реферат Consequences Of Sin Essay Research Paper Consequences
Реферат Damn The Fates Essay Research Paper DT
Реферат Структура аффинного пространства над телом
Реферат Agamemnon Essay Research Paper Odyssey
Реферат Культура как фактор общения
Реферат Варшавский Договор: история создания, задачи, причины распада
Реферат Две эпохи в зеркале советского социально-политического анекдота Оттепель и Застой конец 1950-х
Реферат Гражданское процессуальное право экзаменационные вопросы
Реферат Babylon Fall In Bible And History Essay
Реферат Атомная энергетика. Использование и перспективы развития