Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.18;
Скачать: CL | DM;

Вниз

Помогите запустить паровозик по синусоиде :)   Найти похожие ветки 

 
MaxAir ©   (2005-04-05 13:27) [0]

Нужно написать программу которая бы рисовала паровозик из разноцветных блоков причем контуры все тоже из разного цвета! а потом запустить его движение по синусоиде(ну или хотя бы по прямой) если у кого есть готовая киньте. Заранее спасибо надеюсь в орех не попаду :)


 
MBo ©   (2005-04-05 14:14) [1]


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

const
 s = "чухчухчух!";
 Len = Length(s);
var
 Form1: TForm1;
 b: TBitmap;
 N: Integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 b := TBitmap.Create;
 b.Width := ClientWidth;
 b.Height := ClientWidth;
 DoubleBuffered := True;
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
 if b.Width <> ClientWidth then
   b.Width := ClientWidth;
 if b.Height <> ClientHeight then
   b.Height := ClientHeight;
 RefreshBMP;
 Canvas.Draw(0, 0, b);
end;

procedure TForm1.RefreshBMP;
var
 i, w, h, x, y: Integer;
begin
 w := b.Width;
 h := b.Height;
 PatBlt(b.Canvas.Handle, 0, 0, w, h, BLACKNESS);
 b.Canvas.Font.Name := "Arial";
 b.Canvas.Font.Size := 24;
 w := w - 24;
 h := h - 30;
 for i := 1 to Len do begin
   SetBkColor(b.Canvas.Handle, Random($FFFFFF + 1));
   X := Round(w + w * Sin((N - i) / 12)) div 2;
   Y := Round(h + h * Sin((N - i) / 9)) div 2;
   b.Canvas.TextOut(x, y, s[i]);
   if (i=1) and (N mod 20<5) then
     b.Canvas.TextOut(x-5, y-40, "ту-ту");
 end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 Inc(N);
 Refresh;
end;


 
MaxAir ©   (2005-04-05 15:29) [2]

спасибо большое ! немного не то но дальше я сам :)


 
parovoZZ ©   (2005-04-07 09:09) [3]

Мне тоже приятно.



Страницы: 1 вся ветка

Текущий архив: 2005.07.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.033 c
3-1118227169
jiny
2005-06-08 14:39
2005.07.18
Проблема с FormatFloat( #.## ,sum(expression))


6-1113497854
woodoo
2005-04-14 20:57
2005.07.18
Из порта имя службы


14-1119618591
DiamondShark
2005-06-24 17:09
2005.07.18
Курят ли китайцы Микрософт?


4-1116826440
rokstar
2005-05-23 09:34
2005.07.18
Задать кнопки "Пуск" картинку в ХР


1-1120383780
Ilg
2005-07-03 13:43
2005.07.18
Вкладки PageControl