首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

转动效果,该怎么处理

2012-03-16 
转动效果在画板上画一个圆框,然后在圆框上画个一点, 让它 绕着这个圆框不停的转,如何实现?谢谢。[解决办法]

转动效果
在画板上画一个圆框,然后在圆框上画个一点, 让它 绕着这个圆框不停的转,如何实现?谢谢。

[解决办法]
unit Unit1;

interface

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

type
TForm1 = class(TForm)
PaintBox1: TPaintBox;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
i:integer=0;
implementation

{$R *.dfm}

procedure Circle(Canvas: TCanvas; pt: TPoint; r: Integer);
begin
Canvas.Ellipse(pt.x-r,pt.y-r,pt.x+r,pt.y+r);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
pt,pt2: TPoint;
r:integer;
begin
r:=150;
pt.X:=200;
pt.Y:=200;
PaintBox1.Canvas.Brush.Color:=clBlack;
PaintBox1.Repaint;
PaintBox1.Canvas.Pen.Color := clYellow;
Circle(PaintBox1.Canvas, pt, r);
PaintBox1.Canvas.Pen.Color := clRed;

pt2.X := round(r*cos(i/180*pi))+pt.X;
pt2.Y := round(r*sin(i/180*pi))+pt.Y;
PaintBox1.Canvas.MoveTo(pt.X, pt.Y);
PaintBox1.Canvas.LineTo(pt2.X, pt2.Y);
//PaintBox1.Canvas.Pixels[pt2.X, pt2.Y]:=clRed;
inc(i);
end;

end.

热点排行