![]() |
Kollision zweier Images?
Hallo zusammen.
Ich hab im EDH diese Funktion, für die Kollision zweier Objekte gefunden:
Delphi-Quellcode:
Es funktioniert auch perfekt soweit.
function IsCollision (Rec1, Rec2 : Trect): Boolean;
begin Result := (Rec1.Right > Rec2.Left) and (Rec2.Right > Rec1.Left) and (Rec1.Bottom > Rec2.Top ) and (Rec2.Bottom > Rec1.Top ); end; Meine Frage: Angenommen ich habe zwei Timer, die jeder für sich eine Image Komponente bewegen. Jetzt möchte ich aber nicht die Funktion oben verwenden und abfragen ob die zwei Images miteinander kollidieren, sondern ich möchte wissen, ob Image1 an der Position an der es gerade ist mit irgendetwas kollidiert. Weis jemand wie ich das hinbekommen könnte? Danke schonmal Angel4585 |
Re: Kollision zweier Images?
Zitat:
|
Re: Kollision zweier Images?
ein anderes Image, Also wenn ich zum Bleistift 100 Images habe und wissen will ob das bestimmt mit einem der anderen kollidiert.
Also ich muss ermitteln ob sich in dem Bereich von dem Image noch ein zweites befindet. |
Re: Kollision zweier Images?
hmhmhm....
wäre machbar in einer schleife. aber das würde eventuell die performance niederzwingen^^ wieso willst du das denn überprüfen? falls du ein spiel o.ä. programmierst, würde ich dir dinge wie DirectX oder OpenGL ans herz legen ;) aenogym |
Re: Kollision zweier Images?
Ich hatte in Kunst ne vier, Grafik ist nicht gerade mein stärkstes Gebiet. :oops:
Aber um auf OpenGL zurück zu kommen. Angenommen ich habe zwei Threads mit X/Y Werten, kann ich dann direkt aus dem Thread ein Objekt auf ne Paintbox oder so anzeigen lassen, ohne das es da Konflikte gibt? Und gibt es vielleicht sogar eine Art OpenGL Klasse, die ich z.B. mit ogl.kugel(durchmesser,position); ansprechen kann? |
Re: Kollision zweier Images?
Ich denke, dass die Zeit der Schleife nicht ins Gewicht fällt. Wenn du dann noch Rechteck B nicht mehr mit A vergleichst, wenn A schon mit B verglichen wurde, ist die Routine noch einmal doppelt so schnell.
Allerdings ist der Ansatz mit vielen sich bewegenden TImages nicht wirklich das Wahre, auch wenn du nicht mit einer der beiden großen Engines arbeiten willst. Zitat:
Da ist noch ein Post dazwischengrückt ^^ . Zitat:
Zitat:
Zitat:
![]() [/edit] |
Re: Kollision zweier Images?
Also:
GLscene bringt bei mir irgendwelche Fehler, das irgenweine Datei nicht vorhanden ist, obwohl ich Such- und Bib.pfad eingestellt hab. Ich habs für die Kugeln jetzt mit der Schleife gelöst, für die Panzer werd ich das dann denk ich auch machen. Darstellung erfolgt mit Bitmaps aus zwei Imagelisten, eine mit 8x8 Pixel bmp's für Kugeln und eine mit 20x20 Pixel bmp's für Panzer, funz au super, allerdings habe ich bei den Panzern das Problem das sie sich drehen können sollten. Und eine Funktion dafür hab ich noch nirgends gefunden(Will keine extra Kompo). Mal schauen was die Zukunft noch so bringt. |
Re: Kollision zweier Images?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:48 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