Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2011, 23:57   #1
Лилея
 
Регистрация: 17.01.2011
Сообщений: 6
По умолчанию движущийся анимированный рисунок в делфи

Помогите,пожалуйста!Срочно нужно,что-то делаю не так - процедура ris выполняет не то,что нужно.Задание - создать движение многоугольной фигуры по форме.
Код:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;

type
TForm1 = class(TForm)
Timer1: TTimer;
procedure FormActivate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
x,y:byte;
dx:byte;
dy:byte;
a:array[1..12]of TPoint;

implementation

{$R *.dfm}
procedure ris;
var a:array[1..12]of TPoint;
b:array[1..12]of TPoint;
i:integer;
begin
with Form1.canvas do begin
pen.Color:=clred;
brush.Color:=form1.color;
b[1].x:=a[1].x;b[1].y:=a[1].y;
b[2].x:=a[2].x;b[2].y:=a[2].y;
b[3].x:=a[3].x;b[3].y:=a[3].y;
b[4].x:=a[4].x;b[4].y:=a[4].y;
b[5].x:=a[5].x;b[5].y:=a[5].y;
b[6].x:=a[6].x;b[6].y:=a[6].y;
b[7].x:=a[7].x;b[7].y:=a[7].y;
b[8].x:=a[8].x;b[8].y:=a[8].y;
b[9].x:=a[9].x;b[9].y:=a[9].y;
b[10].x:=a[10].x;b[10].y:=a[10].y;
b[11].x:=a[11].x;b[11].y:=a[11].y;
b[12].x:=a[12].x;b[12].y:=a[12].y;

polygon (b);

for i:=1 to 12 do
a[i].x:=a[i].x+dx;

b[1].x:=a[1].x;b[1].y:=a[1].y;
b[2].x:=a[2].x;b[2].y:=a[2].y;
b[3].x:=a[3].x;b[3].y:=a[3].y;
b[4].x:=a[4].x;b[4].y:=a[4].y;
b[5].x:=a[5].x;b[5].y:=a[5].y;
b[6].x:=a[6].x;b[6].y:=a[6].y;
b[7].x:=a[7].x;b[7].y:=a[7].y;
b[8].x:=a[8].x;b[8].y:=a[8].y;
b[9].x:=a[9].x;b[9].y:=a[9].y;
b[10].x:=a[10].x;b[10].y:=a[10].y;
b[11].x:=a[11].x;b[11].y:=a[11].y;
b[12].x:=a[12].x;b[12].y:=a[12].y;

pen.Color:=clred;
polygon (b);

end; end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
ris;
end;
procedure TForm1.FormActivate(Sender: TObject);
var a:array[1..12] of tpoint;
begin
a[1].x:=5;a[1].y:=5;
a[2].x:=15;a[2].y:=15;
a[3].x:=25;a[3].y:=5;
a[4].x:=25;a[4].y:=20;
a[5].x:=50;a[5].y:=20;
a[6].x:=55;a[6].y:=5;
a[7].x:=65;a[7].y:=15;
a[8].x:=65;a[8].y:=40;
a[9].x:=55;a[9].y:=50;
a[10].x:=5;a[10].y:=50;
a[11].x:=20;a[11].y:=35;
a[12].x:=5;a[12].y:=20;


dx:=3; dy:=3;
timer1.Interval:=50;
form1.Canvas.Brush.Color:=form1.Color;end;




end.

Последний раз редактировалось Serge_Bliznykov; 21.05.2011 в 08:31.
Лилея вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рисунок В Делфи ALUKARD2011 Помощь студентам 5 23.05.2011 17:30
Клики мышкой на некоторые движущийся объекты Karyuudo Общие вопросы Delphi 2 07.04.2010 12:21
Графика в паскале. движущийся рисунок ohucheni Помощь студентам 0 13.11.2009 20:01
Движущийся червячек! zzss Общие вопросы C/C++ 3 08.12.2007 13:55