![]() |
Kollisionen schon frühzeitig erkennen
Wie kann man Kollisionen schon frühzeitig erkennen, also das man nicht auf ein anderen SPrite drauflaufen kann?
|
Re: Kollisionen schon frühzeitig erkennen
Delphi-Quellcode:
oder IntersectRect();
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; |
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.
|
Re: Kollisionen schon frühzeitig erkennen
ähm für was stehen die Parameter rect1 udn rect2? -> sollen das dan die zwei sprites sein?
|
Re: Kollisionen schon frühzeitig erkennen
Das sind die Ränder (das Rechteck) um das Sprite herum.
|
Re: Kollisionen schon frühzeitig erkennen
was müsste ich da dan reinschreiben stats rect1 wenn ich die funktion aufrufe?
|
Re: Kollisionen schon frühzeitig erkennen
Eigentlich sollt es so gehen:
Delphi-Quellcode:
RectinRect(Sprite1.BoundsRect, Sprite2.BoundsRect);
|
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