AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi [DelphiX] DXDraw malt nicht !
Thema durchsuchen
Ansicht
Themen-Optionen

[DelphiX] DXDraw malt nicht !

Ein Thema von Neutral General · begonnen am 18. Nov 2004 · letzter Beitrag vom 21. Nov 2004
Antwort Antwort
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

[DelphiX] DXDraw malt nicht !

  Alt 18. Nov 2004, 18:58
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 = '1then 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."
  Mit Zitat antworten Zitat
Elite
(Gast)

n/a Beiträge
 
#2

Re: [DelphiX] DXDraw malt nicht !

  Alt 18. Nov 2004, 19:04
Bin nicht gerade der DelphiX Crack, aber zumindest sehe ich nirgends eine DxDraw1.Flip;
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: [DelphiX] DXDraw malt nicht !

  Alt 18. Nov 2004, 19:05
Das ist ja im Timer und wenn ich die Anwendung minimiere + maximiere ist ja alles gezeichnet
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."
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#4

Re: [DelphiX] DXDraw malt nicht !

  Alt 21. Nov 2004, 08:37
Delphi-Quellcode:
Also ich finde das sehr seltsam... Sowas hatte ich noch nie ... Grübelnd...
Weis jemand worans lieg ?
ja dort in der procedure lädts du nur aber zeichen tutst du nicht, dafür brauchst du ein DXTimer *G*
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: [DelphiX] DXDraw malt nicht !

  Alt 21. Nov 2004, 11:32
Zitat von Neutral General:
Das ist ja im Timer und wenn ich die Anwendung minimiere + maximiere ist ja alles gezeichnet
"Das ist ja im Timer..." Ich habe einen aktiven DXTimer mit dem Intervall 1 in dem das drinsteht :

Delphi-Quellcode:
procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin
  DXInput1.Update;
  DXSpriteEngine1.Move(1);
  DXDraw1.Surface.Fill(0);
  DXSpriteEngine1.Draw;
  DXDraw1.Flip;
end;
Es liegt also NICHT am Timer !!!

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 )
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."
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz