Kurs DelphiX - tekst dla początkujących - część 1st dla początkujących - część 1

Ten tekst jest dla osób które nic nie wiedzą na temat DelphiX, ale cokolwiek umieją napisać w Delphi Chcąc w ogóle napisać jakikolwiek program przy użyciu DelphiX potrzebne będą komponenty DelphiX. Można go ściągnąć np. ze strony : http://coders.shnet.pl/download/delphi/delphix991024.rar .

1.Na początek na formę wstaw DXDraw ,DXImageList i DXTimer. We właściwościach(properties) DxImageList ->DXDraw ustaw na DXDraw1, a we właściwościach(properties) DXDraw -> Algin ustaw na Client. Jeżeli chcesz aby forma była wyświetlana na pełnym ekranie to w DXDraw-> Options -> doFullScreen ustaw na true.

2.Teraz w zdarzeniach(events) Formy 1 OnClose wpisz :

dxdraw.finalize; // Finalizacja dxdraw

a OnCreate wpisz:

dxdraw.initialize;
if not DXDraw.CanDraw then // Sprawdzamy czy możemy rysować
begin // jeśli inicjacja się nie powiodła
MessageBox(Handle, 'DXError', 'Błąd inicjacji DirectX', 0);
Close;
end;

3.W zdarzeniach(events) DXTimer1 OnTimer wpisz :

dxdraw.Surface.Fill(clblack); // wypełnianie czarnym kolorem
Images.Items[0].Drawrotate(dxdraw.surface, 100, 100 , 150,200,0,0.5,0.5,20); // rysowanie

// surface -> ekran
DXDraw.Surface.Canvas.Release;
DXDraw.Flip;

4. Jeszcze potrzebujemy obrazka który ma się wyświetlić, w tym celu we właściwościach(properties) DXImageList -> picture wstaw obrazek...

Poniżej znajduje się kod źródłowy :

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DXDraws, StdCtrls, DXClass, DXInput, DIB, ExtCtrls;

type
TForm1 = class(TForm)
DXDraw: TDXDraw;
Images: TDXImageList;
DXTimer1: TDXTimer;
DXInput: TDXInput;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure DXTimer1Timer(Sender: TObject; LagCount: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
dxdraw.finalize;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
dxdraw.initialize;
// Sprawdzamy czy mozemy rysowac
if not DXDraw.CanDraw then
begin // jesli inicjacja sie nie powiodla
MessageBox(Handle, 'DXError', 'Blad inicjacjiDirectX', 0);
Close;
end;

end;

procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin
dxdraw.Surface.Fill(clblack);
Images.Items[0].Drawrotate(dxdraw.surface, 100, 100 , 150,200,0,0.5,0.5,20);

// surface ==> ekran
DXDraw.Surface.Canvas.Release;
DXDraw.Flip;
end;

end.



Dariusz Łazowski