![]() |
Re: [DelphiX] Sprites
Sieht für mich auf jeden fall richtig aus...
Was geht denn genau nicht? Wie willst du denn das ganze Zeichenen? Wie sieht diese Routine aus? |
Re: [DelphiX] Sprites
Delphi-Quellcode:
DXDraw1.Fill(0);
Map.Draw(DXDraw1.Surface, Tiles); DXDraw1.Flip; |
Re: [DelphiX] Sprites
Ja... Was ist Map? Wie sieht da die impelementierung aus?
|
Re: [DelphiX] Sprites
Delphi-Quellcode:
unit Map;
interface uses SysUtils, Classes, DXDraws, Tiles, Dialogs; type TMapField=Byte; TMapFields=array of array of TMapField; TMap=class protected FFields: TMapFields; FWidth, FHeight: Cardinal; function GetField(I, J: Cardinal): TMapField; procedure SetField(I, J: Cardinal; Value: TMapField); procedure SetWidth(Value: Cardinal); procedure SetHeight(Value: Cardinal); public procedure Clear; procedure Draw(Surface: TDirectDrawSurface; Tiles: TTiles); procedure LoadFromFile(FileName: string); procedure SaveToFile(FileName: string); property Width: Cardinal read FWidth write SetWidth default 0; property Height: Cardinal read FHeight write SetHeight default 0; property Fields[I, J: Cardinal]: TMapField read GetField write SetField; default; end; implementation procedure TMap.Clear; var I, J: Cardinal; begin for I:=0 to FWidth-1 do for J:=0 to FHeight-1 do FFields[I, J]:=0; end; function TMap.GetField(I, J: Cardinal): TMapField; begin Result:=FFields[I, J]; end; procedure TMap.SetField(I, J: Cardinal; Value: TMapField); begin FFields[I, J]:=Value; end; procedure TMap.SetWidth(Value: Cardinal); begin FWidth:=Value; setlength(FFields, FWidth, FHeight); end; procedure TMap.SetHeight(Value: Cardinal); begin FHeight:=Value; setlength(FFields, FWidth, FHeight); end; procedure TMap.Draw(Surface: TDirectDrawSurface; Tiles: TTiles); var I, J: Cardinal; begin for I:=0 to FWidth-1 do for J:=0 to FHeight-1 do begin Tiles[FFields[I, J]]. Draw(Surface, I*Tiles.tilewidth, J*Tiles.tileheight, 0); end; end; procedure TMap.LoadFromFile(FileName: string); var fs: TFileStream; begin fs:=TFileStream.Create(FileName, fmOpenRead); fs.Read(FWidth, SizeOf(Cardinal)); fs.Read(FHeight, SizeOf(Cardinal)); SetLength(FFields, FWidth, FHeight); fs.Read(FFields[0, 0], FWidth*FHeight*sizeof(TMapField)); fs.free; end; procedure TMap.SaveToFile(FileName: string); var fs: TFileStream; begin fs:=TFileStream.Create(FileName, fmOpenWrite); fs.Write(FWidth, SizeOf(Cardinal)); fs.Write(FHeight, SizeOf(Cardinal)); fs.Write(FFields[0, 0], FWidth*FHeight*sizeof(TMapField)); fs.free; end; end. |
Re: [DelphiX] Sprites
Welche Version von DelphiX hast du? Das neuste UnDelphiX 1.07a? (Steht in der Unit DXDraws.pas irgendwo oben...).
Probiere außerdem mal noch in TTile imglist.initialize(DXDraw); |
Re: [DelphiX] Sprites
99.08.29? Steht jedenfalls in der Setup.inf.
Ich hab keine Ahnung, wo ich sonst nachschauen soll. |
Re: [DelphiX] Sprites
nene, is wirklich bereits verknüpft, so dumm sind a net :P
Also ich zumindest hab die neuste, da gehts auch nicht. |
Re: [DelphiX] Sprites
WTF?
Wasdasfürsatz? |
Re: [DelphiX] Sprites
das mit verknüpft bezog sich auf das mit der imagelist und dem DXDraw
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz