AW: Überprüfen ob ein rectangle ein anderes überlappt
Deshalb hatte ich die Funktion auch verlinkt (#3).
|
AW: Überprüfen ob ein rectangle ein anderes überlappt
Ah, sorry mein Fehler. Ist ja ne WinAPI Funktion.
|
AW: Überprüfen ob ein rectangle ein anderes überlappt
macht nichts
|
AW: Überprüfen ob ein rectangle ein anderes überlappt
Man kann es aber auch so machen:
Delphi-Quellcode:
function RectInRect(const Rect1, Rect2: TRect): Boolean;
begin Result := (Rect1.Left >= Rect2.Left) and (Rect1.Right <= Rect2.Right) and (Rect1.Top >= Rect2.Top) and (Rect1.Bottom <= Rect2.Bottom); end; //oder function OverlapRect(const Rect1, Rect2: TRect): Boolean; begin Result := (Rect1.Left < Rect2.Right) and (Rect1.Right > Rect2.Left) and (Rect1.Top < Rect2.Bottom) and (Rect1.Bottom > Rect2.Top); end; ich denke, die zweite Function ist besser geeignet 8-) |
AW: Überprüfen ob ein rectangle ein anderes überlappt
und wie würde dass dann mit einem canavas rectangle aussehen
|
AW: Überprüfen ob ein rectangle ein anderes überlappt
Delphi-Quellcode:
If OverlapRect(Rect(1, 1, 8, 8), Rect(7, 2, 9, 9)) then ...
Du und dein Canvas ... da hat der Canvas nix verloren! |
AW: Überprüfen ob ein rectangle ein anderes überlappt
Zitat:
|
AW: Überprüfen ob ein rectangle ein anderes überlappt
jetzt hab ich eine Idee würde es funktioniere wenn ich an die position des canvas rectangels ein timage anhefte mit der gleichen größe wie wie das canvas?
|
AW: Überprüfen ob ein rectangle ein anderes überlappt
Alle Antworten beziehen sich immer auf Koordinaten, diese haben keine Bindung zu einem Canvas, Image was auch immer. Wenn Du etwas malen willst hast Du auch schon Koordinaten.
Wenn Du vor dem Malen auf eine Kollision prüfen willst, verwende die genannten Funktionen um zu prüfen ob Du mit den Koordinaten mit denen Du malen möchtest ein "Problem" bekommst. Oder meinst Du etwas ganz anderes .... |
AW: Überprüfen ob ein rectangle ein anderes überlappt
Es würde funktionieren, wenn Du einfach die beiden Rechtecke angibst, dazu braucht man doch kein Image.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:49 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