![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте!
Мне надо сделать анимацию, где человечик машет флашком. Делал по книге и ни чего не получидлсь...Форма не отражает ни одной линии Помогите разобратся в чем дело? Код:
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, 31.05.2010 в 10:56. |
#2
|
||||
|
||||
![]() Добавь объявление процедуры
Код:
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; procedure Baby (x,y:integer; color:TColor); var Form1: TForm1; x,y: integer; implementation {$R *.dfm} В начале был Бит, потом Байт и только потом появилось Слово... |
#3
|
|||
|
|||
![]() Объявление добавлять не нужно. Во-первых, посмотрите в инспекторе объектов, установлено ли событие OnTimer у Timer1 на вкладке Events. Во-вторых, в последней строчке кода поменяйте цвет на более видимый, например черный.
Код:
baby(x,y,clBlack); |