Форум: "Media";
Текущий архив: 2003.09.22;
Скачать: [xml.tar.bz2];
ВнизБегающие огни Найти похожие ветки
← →
Жанна (2003-05-28 13:29) [0]Подскажите. пожалуйста как на канве сделать бегающие огни (не мигающие, а именно бегающие) по горизонтали и по кругу. Заранее спасибо
← →
MBo (2003-05-28 15:36) [1]Вот тебе моргунчик для начала.
var
Counter:Integer;
x,y:Integer;
b,empty:TBitmap;
implementation
{$R *.DFM}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if Counter<>0 then
BitBlt(Canvas.Handle,x,y,40,40,empty.Canvas.Handle,0,0,srccopy);
x:=150+Round(100*cos(Counter/100));
y:=150+Round(100*sin(Counter/100));
BitBlt(Canvas.Handle,x,y,40,40,b.Canvas.Handle,0,0,srccopy);
Canvas.Draw(x,y,b);
inc(Counter);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Counter:=0;
b:=TBitmap.Create;
empty:=TBitmap.Create;
empty.Width:=40;
empty.Height:=40;
empty.Canvas.Brush.Color:=color;
empty.Canvas.FillRect(rect(0,0,40,40));
b.Assign(empty);
b.Canvas.Brush.Color:=clYellow;
b.Canvas.Pen.Color:=clBlue;
b.Canvas.ellipse(0,0,40,40);
x:=250;
y:=150;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
b.free;
empty.free;
end;
← →
MBo (2003-05-28 15:38) [2]Эта строка не нужна
if Counter<>0 then
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2003.09.22;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.266 c