Здавалка
Главная | Обратная связь

Створення ефекту руху зображення в графічному режимі



Ефект руху зображення в графічному режимі досягається за допомогою введення процедур, які викреслюють зображення, в цикл, додавання до координат зображення параметра циклу в будь-якому виразі, очищення екрану за допомогою процедури ClearDevice та затримки відтворення зображення на екрані за допомогою процедури Delay (тривалість затримки в мілісекундах).

 

Приклад 4.Відтворити за допомогою анімації рух зеленої кулі, радіусом 30, вздовж діагоналі монітора.

 

Текст програми:

Program PR4;

Uses Graph,Crt;

Var grDriver:integer;

grMode:integer;

grPath:string;

i:integer;

Begin

grDriver:=Detect;

grPath:='C:/bp/bgi';

InitGraph(grDriver,grMode,grPath);{ініціалізація графічного режиму}

SetFillStyle(SolidFill,Green);{суцільне заповнення області зеленим кольором}

SetColor(Green);{колір ліній – зелений}

for i:=1 to 35 do

Begin

ClearDevice;{очистка екрану}

PieSlice(35+15*i,35+10*i,0,360,30); {коло}

Delay(2000);{затримка на 2 секунди}

end;

readln;

CloseGraph;{вихід з графічного режиму}

Readln

End.

 

Приклад 5.Відтворити ріст ялинки, на яку світить сонечко, за допомогою анімації.

 

Текст програми:

Program PR5

Uses Graph,crt;

Var grDriver:integer;

grMode:integer;

grPath:string;

i:integer; {параметр циклу}

m:array[1..32] of integer; {масив координат точок ялинки}

Begin

grDriver:=Detect;

grPath:='C:/bp/bgi';

InitGraph(grDriver,grMode,grPath);

for i:=1 to 20 do

Begin

ClearDevice;

m[1]:=250;

m[2]:=150-i+5;

m[3]:=280+i;

m[4]:=170+i;

m[5]:=253+i;

m[6]:=170+i;

m[7]:=285+i;

m[8]:=190+i+6;

m[9]:=256+i;

m[10]:=190+i+6;

m[11]:=290+i;

m[12]:=210+i+12;

m[13]:=259+i;

m[14]:=210+i+12;

m[15]:=295+i;

m[16]:=230+i+16;

m[17]:=205-i;

m[18]:=230+i+16;

m[19]:=241-i;

m[20]:=210+i+12;

m[21]:=210-i;

m[22]:=210+i+12;

m[23]:=244-i;

m[24]:=190+i+6;

m[25]:=215-i;

m[26]:=190+i+6;

m[27]:=247-i;

m[28]:=170+i;

m[29]:=220-i;

m[30]:=170+i;

m[31]:=250;

m[32]:=150-i+5;

SetFillStyle(SolidFill,green);

FillPoly(16,m); {ялинка}

SetFillStyle(SolidFill,brown);

Bar(242-i div 5,230+i+16,258+i div 5,245+i+16);

SetFillStyle(SolidFill,yellow);

SetColor(yellow);

PieSlice(400,50,0,360,30); {сонечко}

SetColor(white);

Line(400,20,400,0);

Line(430,50,460,50);

Line(400,80,400,110);

Line(370,50,340,50);

Line(420,30,450,0);

Line(420,75,450,105);

Line(380,75,350,105);

Line(380,30,350,0);

Delay(2000);

end;

readln;

CloseGraph;

readln;

End.

Результати виконання програми:

 

Відтворення звуку

Для відтворення звуку використовуються такі процедури модуля CRT:

Sound (частота звуку в Гц);

Delay (тривалість звучання в мілісекундах);

NoSound; {відміна звучання}

 

Частоти звучання нот наведені в таблиці:

Нота Б. октава М. октава Перша октава Друга октава
До
Ре
Мі
Фа
Соль
Ля
Сі

 

Приклад 6.За допомогою звуку відтворити дзвінок телефону.

Текст програми:

Program PR6;

Uses Crt;

Var i:integer;

Begin

repeat

for i:=1 to 150 do

begin

sound(410);

Delay(40);

NoSound;

end;

Delay(15000);

until KeyPressed;

End.

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.