Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi threads - Parallele Bewegungen von Objecten in einem Image (https://www.delphipraxis.net/89646-threads-parallele-bewegungen-von-objecten-einem-image.html)

Noobinator 5. Apr 2007 16:14

Re: threads - Parallele Bewegungen von Objecten in einem Ima
 
ok ich habe jetzt das Zeichnen versucht mal auszulagern, und bin dabei auf ein Problem gestoßen:

ich wollte es nun so realisieren, das ich mit einem Timer einfach alle objecte Zeichen lasse,
und die Threads nur berechnen...

soweit ist alles einwandfrei, keine Fehlermeldungen etc aber ich sehe auch nichts.
wenn ich im Debugmodus durchgehe (F7) dann sehe ich alles wunderschön wie meine Objecte nach und nach durch die gegend fliegen, aber wenn ich einfach compiliere, dann sehe ich garnichts.

mein Timer hat den folgenden Code:

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var i:integer;
begin
image1.Picture.LoadFromFile(Pic); //Hintergrund setzen
image1.Canvas.Draw(a.xpos,a.ypos,a.getBild); //statische Spielfigur setzen
for i:=0 to componentcount-1 do //alle objecte durchsuchen
   begin
     if components[i] is Tmyobject then //wenn eines gefunden das er malen soll
        image1.Canvas.Draw(Tmyobject(components[i]).xpos,
                           Tmyobject(components[i]).ypos,
                           Tmyobject(components[i]).getpic) ;
   end;
end;

Ich dachte erst es liegt an der refreshrate des Timers, aber egal wie ich das intervall einstelle man sieht nichts.
woran kann das liegen?

Edit: Ich habe gerade gemerkt, das meine generrierten objecte garnicht in der componentenliste eingetragen sind.
werden diese dort allgemein nicht eingetragen?
oder hat jede Unit eine andere Komponentenliste?
gibt es eine Objectliste??

Khabarakh 5. Apr 2007 17:07

Re: threads - Parallele Bewegungen von Objecten in einem Ima
 
Noch einmal: Threads sind hier die unpassendste und - wie du langsam selbst bemerkt haben dürftest - schwierigste Lösung.

Erstelle am Anfang deine Objekte und füge sie in eine Liste ein, bei jedem Timer-Tick bewegst du dann jedes Objekt um die entsprechende Strecke vor. Fertig.

Noobinator 6. Apr 2007 11:48

Re: threads - Parallele Bewegungen von Objecten in einem Ima
 
Ok geht alles einwandfrei :)
Ich danke euch erstmal für alles, aber jetzt habe ich ein eher kleines Problem.

Ich habe Aktionen auf dem Formkeydown Ereigniss, und die funktionieren auch.
jetzt habe ich aber eine Checkbox in meinem Formular, und die ganzen Tastendrücke gehen über das keydownereigniss der Checkbox.

wie kann ich zu formkeydown zurückkehren?

Delphi-Quellcode:
form1.setfocus;
geht nicht, fragt mich nicht warum .


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:40 Uhr.
Seite 2 von 2     12   

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