Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Kollisionen schon frühzeitig erkennen (https://www.delphipraxis.net/11165-kollisionen-schon-fruehzeitig-erkennen.html)

Maximus 1. Nov 2003 10:22


Kollisionen schon frühzeitig erkennen
 
Wie kann man Kollisionen schon frühzeitig erkennen, also das man nicht auf ein anderen SPrite drauflaufen kann?

Gandalfus 1. Nov 2003 10:32

Re: Kollisionen schon frühzeitig erkennen
 
Delphi-Quellcode:
function TF_main.RectinRect(rect1,rect2: Trect): boolean;
begin
  result := true;
  if (rect1.Left > rect2.BottomRight.x) then result:=false;
  if (rect1.top > rect2.BottomRight.y) then result:=false;
  if (rect2.Left > rect1.BottomRight.x) then result:=false;
  if (rect2.top > rect1.BottomRight.y) then result:=false;
end;
oder IntersectRect();

Dagon 1. Nov 2003 10:46

Re: Kollisionen schon frühzeitig erkennen
 
Und sollte dir das noch nicht frühzeitig genug sein, so kannst du ja nochmal einen konstanten Faktor zum Rechteck dazuzählen/abziehen.

Maximus 1. Nov 2003 11:01

Re: Kollisionen schon frühzeitig erkennen
 
ähm für was stehen die Parameter rect1 udn rect2? -> sollen das dan die zwei sprites sein?

Dagon 1. Nov 2003 11:28

Re: Kollisionen schon frühzeitig erkennen
 
Das sind die Ränder (das Rechteck) um das Sprite herum.

Maximus 1. Nov 2003 12:19

Re: Kollisionen schon frühzeitig erkennen
 
was müsste ich da dan reinschreiben stats rect1 wenn ich die funktion aufrufe?

Dagon 1. Nov 2003 12:29

Re: Kollisionen schon frühzeitig erkennen
 
Eigentlich sollt es so gehen:
Delphi-Quellcode:
RectinRect(Sprite1.BoundsRect, Sprite2.BoundsRect);

Maximus 1. Nov 2003 12:32

Re: Kollisionen schon frühzeitig erkennen
 
Danke :dp:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:12 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-2025 by Thomas Breitkreuz