
31.05.2010, 10:53
|
Прохожий
|
|
Регистрация: 31.05.2010
Сообщения: 14
Репутация: 10
|
|
Челвек машет флашком..
Здравствуйте!
Мне надо сделать анимацию, где человечик машет флашком. Делал по книге и ни чего не получидлсь...Форма не отражает ни одной линии
Помогите разобратся в чем дело?
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
x,y:integer;
implementation
{$R *.dfm}
procedure Baby (x,y:integer;
color:TColor);
Const dx=5; dy=5;
Var
b:TColor;
begin
with form1.Canvas do
begin
b:=pen.COlor;
pen.Color:=color;
MoveTo(x,y);
LineTo(x+3*dx,y-7*dy);
LineTo(x+3*dx,y-13*dy);
//LineTo(x,y-1*dy);
Ellipse (x+1*dx,y-17*dy,x+5*dx,y-13*dy);
MoveTo(x+3*dx,y-7*dy);
LineTo(x+3*dx,y+7*dy);
MoveTo(x+3*dx,y-12*dy);
LineTo(x-3*dx,y+1*dy);
LineTo(x-5*dx,y-2*dy);
LineTo(x-5*dx,y-3*dy);
LineTo(x-5*dx,y-5*dy);
LineTo(x-3*dx,y-2*dy);
LineTo(x-3*dx,y-3*dy);
LineTo(x-5*dx,y-3*dy);
MoveTo(x+3*dx,y-12*dy);
LineTo(x+3*dx,y+1*dy);
LineTo(x+2*dx,y+4*dy);
pen.Color:=b;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
baby(x,y,form1.Color);
if x<Form1.ClientWidth
then x:=x+5
else begin
y:=Random(50)+100;
end;
baby(x,y,clwhite);
end.
Admin: Пользуемся тегами для оформления кода!
|