![]() |
[DelphiX] DXDraw malt nicht !
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 :gruebel:
Delphi-Quellcode:
Also ich finde das sehr seltsam... Sowas hatte ich noch nie ... :gruebel:
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; Weis jemand worans lieg ? |
Re: [DelphiX] DXDraw malt nicht !
Bin nicht gerade der DelphiX Crack, aber zumindest sehe ich nirgends eine DxDraw1.Flip;
|
Re: [DelphiX] DXDraw malt nicht !
Das ist ja im Timer und wenn ich die Anwendung minimiere + maximiere ist ja alles gezeichnet :gruebel:
|
Re: [DelphiX] DXDraw malt nicht !
Delphi-Quellcode:
ja dort in der procedure lädts du nur aber zeichen tutst du nicht, dafür brauchst du ein DXTimer *G*
Also ich finde das sehr seltsam... Sowas hatte ich noch nie ... Grübelnd...
Weis jemand worans lieg ? |
Re: [DelphiX] DXDraw malt nicht !
Zitat:
Delphi-Quellcode:
Es liegt also NICHT am Timer !!!
procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin DXInput1.Update; DXSpriteEngine1.Move(1); DXDraw1.Surface.Fill(0); DXSpriteEngine1.Draw; DXDraw1.Flip; end; Ich hab aber mittlerweile eine Lösung gefunden, die funktioniert, die ich mir aber nicht erklären kann. Ich musste nach dem Zeichnen des Levels DXDraw1.Initialize aufrufen dann hats geklappt. (Obwohl Autoinitialize := true :gruebel: ) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:49 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