Реферат

Реферат Анімація в Delphi 7 0

Работа добавлена на сайт bukvasha.net: 2015-10-28

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 20.2.2025


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

з дисципліни

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

Зміст

1.Вступ

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

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

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

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

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

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

8. Додатки

Вступ

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

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

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

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

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

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

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

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

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

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,k i u є допоміжними. Змінні х і у відповідають за махаючі рухи «рук» і «ніг» «чоловічка», змінна 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.


1. Курсовая на тему Планування предмету Захист Вітчизни у навчальновиховному закладі
2. Контрольная работа Вертикальная планировка
3. Реферат на тему Beatles Break Up Essay Research Paper Final
4. Статья Качественные задачи как средство развития познавательного интереса
5. Диплом на тему Оптимизация кредитного портфеля (на примере Красноярского Городского отделения Сбербанка России ~~~
6. Реферат на тему Then And Now Essay Research Paper Now
7. Доклад на тему Хуан-ди
8. Книга на тему Методика проведення занять з цивільної оборони в загальноосвітній школі
9. Реферат на тему Регистрация продаж и прогнозирование
10. Диплом Динамика экономических отношений США и России