![]() |
Kollisionsabfrage mit Images
Hallo!
Noch eine Frage für mein Spiel... :mrgreen: Ich würde gerne eine Kollisionsabfrage einbauen. Wie macht man so etwas am Besten? Ich meine weil die Figuren sich ja an mehreren Punkten berühren können...
Code:
Ich weiss, dass die Figuren nicht größer als 32x32 sind. Wie berechnet man das nun am Besten?
xx xx xx
xx xx xx <====> <====> Danke im Vorraus! MfG Florian :hi: [EDIT] Ich habe auch hier im Forum schon danach gesucht aber meistens war das mit DelphiX oder ich hab es nicht verstanden... :oops: *schäm* [/EDIT] |
Re: Kollisionsabfrage mit Images
hmmm..
willst du eine Pixelgenaue-abfrage oder tut's auch ein rahmen drumherum? |
Re: Kollisionsabfrage mit Images
:roll: Ich denke Pixelgenau ist schon besser.
MfG Florian :hi: |
Re: Kollisionsabfrage mit Images
![]() die Umsetzung in Delphi ist aber nicht gerade leicht: ![]() und ![]() |
Re: Kollisionsabfrage mit Images
Hm... :? Ich hab nochmal nachgedacht. Vielleicht reicht für den Anfang auch ein Rahmen...
MfG Florian :hi: |
Re: Kollisionsabfrage mit Images
sowas wollte ich auch mal wissen, mit images. natürlich den rahmen und nicht die genauen pixel.
|
Re: Kollisionsabfrage mit Images
bewegst du deine Figuren immer in einem 32*32 feld, oder
die Figuer pixel für pixel weiter??? :?: |
Re: Kollisionsabfrage mit Images
ich bewege sie mit einem timer pixel für pixel...is das ungeschickt?
|
Re: Kollisionsabfrage mit Images
Nein ich denke das ist angebracht!
Nur hilft dir dann mein Vorschlag diesbezüglich nicht weiter! Da kann ich dir leider nicht weiter helfen! Hab bisher nicht vor einem solchen Problem gestanden und derzeit leider keine Idee! |
Re: Kollisionsabfrage mit Images
Delphi-Quellcode:
function 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; [...] IF RectinRect(Imag1.clientrect,Image2.clientRect) then Kollision |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 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