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

Вниз

Эффект падающих цифр   Найти похожие ветки 

 
turbouser ©   (2009-07-20 23:51) [40]


> datorn ©   (20.07.09 23:00) [39]

Опыт-сын ошибок трудных


 
Германн ©   (2009-07-21 01:28) [41]


> Уже мозги себе все проимел с этой матрицей, а конечный результат
> не достигнут, даже несмотря на советы мастеров(. А тут готовый
> код, ещё раз спасибо. Почитал, разобрался, допетрил, как
> надо.

Если тебе это помогло, - "В добрый путь".


 
V   (2009-07-21 06:37) [42]

datorn, этот код вообще бредовый, за основу его брать не надо, наоборот, так делать НЕ нужно :)
как я понял, надо чтобы расстояние по вертикали между цифрами постоянное было, только столбцы ползли по-разному, а еще желательно чтобы это все плавно происходило..


 
brother ©   (2009-07-21 09:10) [43]

unit Unit1;

interface

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

const
 UnVisibleSymbol="!";

type
 TFlySym = record
   X, Y: Integer;
   Symb: string[1];
   IncSize: integer;
 end;

 TForm1 = class(TForm)
   Timer1: TTimer;
   procedure FormCreate(Sender: TObject);
   procedure FormDestroy(Sender: TObject);
   procedure Timer1Timer(Sender: TObject);
 private
   { Private declarations }
   FlySym: array of TFlySym;
 public
   { Public declarations }
   ActiveColor,
   PassiveColor: TColor;
   Image: TBitmap;
   procedure Draw;
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

function GetRMDSymb:string;
begin
//  33-126
// 65-90
 result:= chr(random(25)+65);
end;

procedure TForm1.FormCreate(Sender: TObject);
var x,y, n: integer;
begin
 Randomize;
 ActiveColor:=$002FFF6D;
 PassiveColor:=$00008800;

 Image:= TBitmap.Create;
 Image.Width:= ClientWidth;
 Image.Height:= ClientHeight;
 Image.PixelFormat:= pf32bit;

 SetLength(FlySym, Image.Width div 13);

 for n:= 0 to length(FlySym)-1 do
 begin
   FlySym[n].X:= random( Image.Width div 13) * 13 ;
   FlySym[n].Y:= random( Image.Height div 13) * 13;
   FlySym[n].Symb:= GetRMDSymb;
   FlySym[n].IncSize:= random(13-8)+8;
 end;

 Image.Canvas.Brush.Color:= clBlack;
 PatBlt(Image.Canvas.Handle, 0, 0, Image.Width, Image.Height,  BLACKNESS);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
 Image.Free;
end;

procedure TForm1.Draw;
var n: integer;
begin
 for n:= 0 to length(FlySym)-1 do
 begin
   Inc(FlySym[n].Y, FlySym[n].IncSize);
   if FlySym[n].Y >= Image.Height then
   begin
     FlySym[n].IncSize:= random(13-8) + 8;
     FlySym[n].X:= random(Image.Width div 13) * 13 ;
     FlySym[n].Y:= 0;
     if random(3)<> 0 then
       FlySym[n].Symb:= GetRMDSymb
     else
       FlySym[n].Symb:= UnvisibleSymbol;
   end;

   if FlySym[n].Symb<>UnVisibleSymbol then
     FlySym[n].Symb:= GetRMDSymb;

   if FlySym[n].Symb<>UnVisibleSymbol then
   begin
     PatBlt(Image.Canvas.Handle, FlySym[n].X, FlySym[n].Y - FlySym[n].IncSize,
       13, 13,  BLACKNESS);
     Image.Canvas.Font.Color:= PassiveColor;
     Image.Canvas.TextOut(FlySym[n].X , FlySym[n].Y - 13, FlySym[n].Symb);
     Image.Canvas.Font.Color:= ActiveColor;
     Image.Canvas.TextOut(FlySym[n].X , FlySym[n].Y, FlySym[n].Symb);
   end
   else
     PatBlt(Image.Canvas.Handle, FlySym[n].X, FlySym[n].Y - FlySym[n].IncSize,
       13, 13*2,  BLACKNESS);
 end;

 Form1.Canvas.Draw(0,0, Image);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 Draw;
end;

end.
как то так... там идей реализации до дури...)


 
brother ©   (2009-07-21 09:21) [44]

WMZ жду на кошелек)


 
Dennis I. Komarov ©   (2009-07-21 14:08) [45]


> datorn ©   (20.07.09 18:54) [35]

Ну допустим и что с того? Мне от этого ни горячо ни холодно, а вот по какой причине решили обманывать людей, от которых просите помощь - не понятно. Наверное есть что скрывать или чего стесняться :-Р


 
Andy BitOff ©   (2009-07-21 15:51) [46]

а цифры все падали и падали...


 
MacroDenS ©   (2009-07-22 10:23) [47]

<<<OFFTOP>>>>
судя по всему следующим вопросом будет "как заставить цифери вращаться".

так со временем дойдем до темы: как написать свою собственную матрицу и найти в ней Нео (или Морфеуса)
:-)


 
Andy BitOff ©   (2009-07-22 10:54) [48]


> MacroDenS ©   (22.07.09 10:23) [47]

Как узнать коды доступа к компьютеру Зеона


 
brother ©   (2009-07-22 10:58) [49]

> Как узнать коды доступа к компьютеру Зеона

как всегда - перебором)


 
Anatoly Podgoretsky ©   (2009-07-22 11:57) [50]

> Andy BitOff  (22.07.2009 10:54:48)  [48]

Когда цифры прекратят падать.


 
macrodens ©   (2009-07-22 14:13) [51]

to Andy BitOff ©
А не агент ли ты?


 
brother ©   (2009-07-22 15:11) [52]

Matrix have as)


 
turbouser___   (2009-07-22 15:28) [53]


> brother ©   (22.07.09 15:11) [52]

Одной буквы не хватает :)


 
brother ©   (2009-07-23 04:15) [54]

> Одной буквы не хватает :)

кому - что, видится)


 
Художник   (2009-07-23 06:49) [55]


> brother ©   (21.07.09 09:10) [43]


нее нада весь ряд 0..255 ;)


 
brother ©   (2009-07-23 08:16) [56]

затейник однако )



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

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

Наверх




Память: 0.57 MB
Время: 0.015 c
15-1248544745
xayam
2009-07-25 21:59
2009.09.27
Подскажите каталог RSS-лент на определенную тему


15-1248807077
FF_FF
2009-07-28 22:51
2009.09.27
Парсер


2-1248344765
Bruth
2009-07-23 14:26
2009.09.27
Вывести в переменную выделенный мышкой текст в ричЕдите


15-1248778053
aeore
2009-07-28 14:47
2009.09.27
GIS в Delphi


15-1248640205
Юрий
2009-07-27 00:30
2009.09.27
С днем рождения ! 27 июля 2009 понедельник