1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93:
| unit BombU;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, DXDraws, Grids, StdCtrls, DXClass, ExtCtrls, DXInput, ImgList, DXSprite;
type TForm1 = class(TForm) DXDraw1: TDXDraw; DXInput1: TDXInput; DXTimer1: TDXTimer; DXImageList1: TDXImageList; DXSpriteEngine1: TDXSpriteEngine; procedure DXTimer1Timer(Sender: TObject; LagCount: Integer); procedure DXDraw1Initialize(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; TUnserLogo = class(TImageSprite); TGeist = class(TImageSprite); TBack = class(TBackgroundSprite);
var Form1: TForm1; Xpos :integer=0; Ypos : Integer=0; Xv : integer=1; Yv : integer=1; UnserLogo : TUnserLogo; UnserBack : TBack; Geist : array [1..4] of TGeist; j : integer=0; implementation
{$R *.DFM}
procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer); begin
DXInput1.Update; // Abfrage DXInput
if isUp in DXInput1.states then ypos:=ypos-10; if isDown in form1.DXInput1.states then ypos:=ypos+10; if isLeft in form1.DXInput1.states then xpos:=xpos-10; if isRight in form1.DXInput1.states then xpos:=xpos+10; if isButton1 in form1.DXInput1.states then begin xpos:=dxdraw1.surfacewidth div 2-(DXImageList1.Items[0].Width div 2+22); ypos:=dxdraw1.surfaceheight div 2-(DXImageList1.Items[0].height div 2-50); end;
// Bewegungsroutinen zuende
UnserLogo.X:=xpos; UnserLogo.Y:=Ypos;
if not DXDraw1.CanDraw then Exit; // Zeichenroutinene DXSpriteEngine1.Move(1); DXDraw1.Surface.Fill(0); DXSpriteEngine1.Draw; DXDraw1.Flip;
if xpos <= 0 then xpos:=0; if xpos >= 760 then xpos:=760; if ypos <= 0 then ypos:=0; if ypos >= 560 then ypos:=560;
end;
procedure TForm1.DXDraw1Initialize(Sender: TObject); begin screen.Cursor := crNone; UnserLogo := TUnserLogo.Create(DXSpriteEngine1.Engine); //logo erstellen UnserLogo.Image := Form1.DXImageList1.Items.Find('logo'); UnserLogo.X := 0; UnserLogo.Y := 0; UnserLogo.Width := UnserLogo.Image.Width; UnserLogo.Height := UnserLogo.Image.Height;
UnserBack := Tback.create(dxSpriteEngine1.Engine); // background erstellen UnserBack.setmapsize(1, 1); UnserBack.image:= Form1.DXImagelist1.items.Find('erde'); UnserBack.x:= -5; UnserBack.y:= -5;
end;
end. |