Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Bewegte Objekte (https://www.delphipraxis.net/134497-bewegte-objekte.html)

karabanga 23. Mai 2009 11:18


Bewegte Objekte
 
Hi erstmal, bin neu dabei und hab nichts zu meinem Thema im Forum gefunden, aber kenn mich halt noch nicht aus, also weißt mich draufhin, falls das Thema schon existiert :wink:

meine Frage ist, wie ich bewegte Objekte mit UML und Delphi erstellen kann... In der Schule haben wir jetzt nur Kreise, Linien, Punkte,... programmiert, die jedoch nur statisch sind. Ich wollte jetzt aber mal eine bewegte Linie programmieren aber weiß nicht wie. Eigentlich müsste man ja eine Linie anzeigen lassen, die dann ganz schnell hintereinander verschiedene Koordinaten erhält, oder lieg ich da jetzt komplett falsch, das das nicht geht :P

jaenicke 23. Mai 2009 11:23

Re: Bewegte Objekte
 
Zitat:

Zitat von karabanga
Eigentlich müsste man ja eine Linie anzeigen lassen, die dann ganz schnell hintereinander verschiedene Koordinaten erhält, oder lieg ich da jetzt komplett falsch, das das nicht geht :P

Das ist schon richtig. ;-)
Dafür kannst du z.B. einen Timer oder eine Schleife benutzen, je nachdem wie lange das laufen soll und wie es laufen soll.

Du musst dann jeweils die Position verändern und das Bild neu zeichnen.

quendolineDD 23. Mai 2009 11:29

Re: Bewegte Objekte
 
Und mit UML hat das in erster Linie nichts zu tun, da du hier nur Diagramme darstellst.

jaenicke 23. Mai 2009 11:31

Re: Bewegte Objekte
 
Ich bin davon ausgegangen, dass damit allgemein die Beschreibung des verwendeten Quelltextes und der Klassen gemeint war. Also dass die Zeichenelemente vielleicht in Klassen gekapselt werden sollen.

karabanga 23. Mai 2009 11:38

Re: Bewegte Objekte
 
danke erst einmal für die schnellen antworten, geht ja echt ratz fatz hier :lol:

also wir haben schon die einzelnen Objekte in Klassen deklariert und dann halt in Delphi übertragen, falls das gemeint ist :P
Und mit dem Timer und Schleife, wie mach ich das eigentlich :P Ich weiß wohl, wie ich die Linien erzeuge, aber wie genau ich das in einer Schleife einbinden kann, weiß ich nicht :P (bin nicht so gut in delphi programmierung ;))

jaenicke 23. Mai 2009 12:07

Re: Bewegte Objekte
 
Du kannst z.B. auf deiner PaintBox einfach mal eine horizontal wandernde Linie zeichnen:
Delphi-Quellcode:
var
  i, j: Integer;
begin
  for j := 0 to 50 do
  begin
    pbDisplay.Canvas.Pen.Color := clBlack;
    pbDisplay.Canvas.MoveTo(0, 0);
    pbDisplay.Canvas.LineTo(0, pbDisplay.Height - 1);
    for i := 1 to pbDisplay.Width - 1 do
    begin
      Sleep(2);
      // Alte Linie ünberschreiben
      pbDisplay.Canvas.Pen.Color := clWhite;
      pbDisplay.Canvas.MoveTo(i - 1, 0);
      pbDisplay.Canvas.LineTo(i - 1, pbDisplay.Height - 1);
      // Neue zeichnen
      pbDisplay.Canvas.Pen.Color := clBlack;
      pbDisplay.Canvas.MoveTo(i, 0);
      pbDisplay.Canvas.LineTo(i, pbDisplay.Height - 1);
    end;
    pbDisplay.Canvas.Pen.Color := clWhite;
    pbDisplay.Canvas.MoveTo(i - 1, 0);
    pbDisplay.Canvas.LineTo(i - 1, pbDisplay.Height - 1);
  end;

karabanga 24. Mai 2009 13:03

Re: Bewegte Objekte
 
danke jaenicke für die hilfe, habs jetzt hinbekommen :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:33 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