Unit Main;
Interface
Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, JvGIF, DXClass, DXSprite, DXDraws;
Type
TfrmMain =
Class(TForm)
DXDraw: TDXDraw;
DXImageList1: TDXImageList;
DXSpriteEngine1: TDXSpriteEngine;
DXTimer1: TDXTimer;
Procedure FormCreate(Sender: TObject);
Procedure TilesErst();
Procedure Bewegen();
Procedure DXTimer1Timer(Sender: TObject; LagCount: Integer);
Private
{ Private-Deklarationen }
Public
{ Public-Deklarationen }
End;
TTiles =
Class(TImageSprite)
End;
Var
frmMain: TfrmMain;
Hintergrund, Hendrik, Jordt: TTiles;
Alpha:
Array[1..2]
Of Integer;
Implementation
{$R *.dfm}
Procedure TfrmMain.FormCreate(Sender: TObject);
Begin
TilesErst;
End;
Procedure TfrmMain.TilesErst();
Begin
Hendrik := TTiles.Create(frmMain.DXSpriteEngine1.Engine);
With Hendrik
Do
Begin
X := 780;
Y := 82;
Z := 10;
Image := frmMain.DXImageList1.Items.Find('
Hendrik');
Width := Image.Width;
Height := Image.Height;
Visible := True;
End;
End;
Procedure TfrmMain.Bewegen();
Begin
If Hendrik.X < 10
Then
Begin
Alpha[1] := Alpha[1] + 2;
DXImageList1.Items.Find('
Hendrik').DrawAlpha(DXDraw.Surface,
Bounds(Round(Hendrik.X), Round(Hendrik.Y), Hendrik.Width, Hendrik.Height),
0, Alpha[1]);
Application.ProcessMessages;
If Alpha[1] > 257
Then
Alpha[1] := 0
End
Else
Hendrik.X := Hendrik.X - 2;
End;
Procedure TfrmMain.DXTimer1Timer(Sender: TObject; LagCount: Integer);
Begin
Bewegen;
DXDraw.Surface.Fill(0);
DXSpriteEngine1.Move(1);
DXSpriteEngine1.Dead;
DXSpriteEngine1.Draw;
DXDraw.Flip;
End;
End.