![]() |
Breakout - Kollision zu Ball(canvas) und Panel?
Hallo,
ich versuche gerade so eine art Breakout-Spiel zu machen.. mein Problem dabei: wie stelle ich fest ob der Ball (canvas.ellypse) mit einem Panel (liegen als array vor) zusammenstößt und aus welcher Richtung er kommt? Hier mein Versuch:
Delphi-Quellcode:
wobei pnl[i] die Panels sind, 5 ist die Ballbreite und posx/y sind die Ballkoordinaten
for i := 1 to anzahlobjects do
if (posx + 5 + rechtslinks > pnl[i].Left) and (posx - 5 - rechtslinks < pnl[i].Left + pnl[i].Width) and (posy + 5 + hochrunter > pnl[i].Top) and (posy - 5 - hochrunter < pnl[i].Top + pnl[i].Height) then begin ... geht auch einigermaßen nur 1. fliegt der Ball zuerst in das Panel rein bevor es abprallt 2. weiß ich nicht an welche Seite es anstößt und 3. nehme ich hierzu an, der Ball sei ein Rechteck; is also nich so perfekt gelöst... vllt habt ihr ja eine Idee.. Danke schon ma im Vorraus |
DP-Maintenance
Dieses Thema wurde von "r_kerber" von "Neuen Beitrag zur Code-Library hinzufügen" nach "VCL / WinForms / Controls" verschoben.
Kein Beitrag für die Code-Library sondern eine Frage. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:24 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