📄 test.pas
字号:
unit Test;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DXClass,DXSprite, DXInput, DXDraws,USprite, StdCtrls;
type
TFrmTest = class(TDXForm)
DXD: TDXDraw;
DXIL: TDXImageList;
DXI: TDXInput;
DXSE: TDXSpriteEngine;
DXT: TDXTimer;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DXDFinalize(Sender: TObject);
procedure DXDInitialize(Sender: TObject);
procedure DXTTimer(Sender: TObject; LagCount: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmTest: TFrmTest;
oP:TPlayerSprite;
oGM:TGameMap;
oBomb:TBombSprite;
oCFire:TCenterFireSprite;
oEFire:TExtendFireSprite;
implementation
{$R *.dfm}
procedure TFrmTest.FormCreate(Sender: TObject);
begin
oGM:=TGameMap.Create;
oGM.TileSize:=40;
oGM.SetXYTiles(18,16);
self.Width:=oGM.Width;
self.Height:=oGM.Height;
oBomb:=TBombSprite.Create(DXSE.Engine);
oBomb.DXISL:=DXIL;
oBomb.GameMap:=oGM;
oCFire:=TCenterFireSprite.Create(DXSE.Engine);
oCFire.DXISL:=DXIL;
oCFire.GameMap:=oGM;
oEFire:=TExtendFireSprite.Create(DXSE.Engine);
oEFire.DXISL:=DXIL;
oEFire.GameMap:=oGM;
(TPoolSingleton.GetSpritePool()).ResisterSprite(oBomb,200);
(TPoolSingleton.GetSpritePool()).ResisterSprite(oCFire,200);
(TPoolSingleton.GetSpritePool()).ResisterSprite(oEFire,20000);
(TASMSingleton.GetASM()).MakeSpace(30000);
///////////////////
oP:=TPlayerSprite.Create(DXSE.Engine);
oP.DXISL:=DXIL;
oP.GameMap:=oGM;
oP.DXI:=DXI;
oP.X:=100;
oP.Y:=100;
oP.Z:=0;
oP.Activate;
oBomb.Free;
oCFire.Free;
end;
procedure TFrmTest.FormClose(Sender: TObject; var Action: TCloseAction);
begin
oP.Free;
oGM.Free;
TPoolSingleton.FreePool;
TASMSingleton.FreeASM;
end;
procedure TFrmTest.DXDFinalize(Sender: TObject);
begin
DXT.Enabled:=False;
end;
procedure TFrmTest.DXDInitialize(Sender: TObject);
begin
DXT.Enabled:=True;
end;
procedure TFrmTest.DXTTimer(Sender: TObject; LagCount: Integer);
begin
if not DXD.CanDraw then Exit;
DXD.Surface.Fill(0);
DXD.Surface.Fill(0);
oP.Act;
//Edit2.Text:=IntToStr((TASMSingleton.GetASM()).LinkNum);
(TASMSingleton.GetASM()).DoAct;
// Edit1.Text:=IntToStr((TASMSingleton.GetASM()).UsedCount);
// Application.ProcessMessages;
DXSE.Move(1);
DXSE.Draw;
DXD.Flip;
DXD.Surface.Fill(0);
end;
{ TB }
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -