DXDraw malt schon, aber erst nachdem man wenn diese Prozedur beendet ist wenn man Das Fenster minimiert und wieder maximiert ... vorher gibts nix zu sehn
Delphi-Quellcode:
var Walls : Integer = 0;
procedure TForm1.Button1Click(Sender: TObject);
var LevelTXT : TStringlist;
LevelINI : TIniFile;
x1,y1 : Integer;
Tile : String;
WandTile : String;
begin
Opendialog1.Execute;
Button1.Visible := false;
LevelINI := TIniFile.Create(Opendialog1.Filename);//Da drin steht welche Wand-Graphik benutzt wird
DXImageList1.Items.Add; //Eintrag in der ImageList hinzufügen und laden
with DXImageList1.Items[0] do
begin
WandTile := LevelIni.ReadString('Einstellungen','Wand','');
Picture.LoadFromFile(WandTile);
Name := 'Wand';
end;
LevelTXT := TStringlist.Create; // Levelaufbau aus der Textdatei lesen
LevelTXT.LoadFromFile('Walls.txt');
for Y1 := 0 to 23 do begin
for X1 := 0 to 31 do begin
Tile := copy(LevelTXT.Strings[y1],x1,1); // Zeichen für Zeichen einlesen
if Tile = '1' then begin // Wenn das aktuelle Zeichen '1' ist dann Wand malen
Wand[Walls] := TWand.ACreate(DXSpriteEngine1.Engine, DXImageList1.Items.Find('Wand'));
with Wand[Walls] do begin
x := x1*32;
y := y1*32;
end;
end;
end;
end;
end;
Also ich finde das sehr seltsam... Sowas hatte ich noch nie ...
Weis jemand worans lieg ?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."