Створення ефекту руху зображення в графічному режимі ⇐ ПредыдущаяСтр 3 из 3
Ефект руху зображення в графічному режимі досягається за допомогою введення процедур, які викреслюють зображення, в цикл, додавання до координат зображення параметра циклу в будь-якому виразі, очищення екрану за допомогою процедури 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 Все права принадлежат авторам размещенных материалов.
|