![]() |
[PONG] Kollision mit Schläger funktioniert nicht
Hallo!
Wahrscheinlich ist es mal wieder ein ganz dämlicher Fehler in meinem grausamen Code der mir das Weiterarbeiten erschwert, deshalb würde ich mich sehr freuen, wenn mal einer gucken könnte woran es liegt. DANKE!
Delphi-Quellcode:
MfG Florian :hi:
// Ball bewegen
procedure TMainForm.TimerMoveBallTimer(Sender: TObject); begin ShpBall.Left := ShpBall.Left + x_step; ShpBall.Top := ShpBall.Top + y_step; begin if (ShpBall.Left > Screen.Width - ShpBall.Width - 1) or (ShpBall.Left < 1) then x_step := x_step * -1; if (ShpBall.Top > Screen.Height - ShpBall.Height - 1) or (ShpBall.Top < 1) then y_step := y_step * -1; end; begin if (((ShpBall.Left = 110) and ((ShpBall.Top >= PnlLeftPaddle.Top) and (ShpBall.Top <= PnlLeftPaddle.Top + 100))) OR ((ShpBall.Left = Screen.Width - 110) and ((ShpBall.Top >= PnlRightPaddle.Top) and (ShpBall.Top <= PnlRightPaddle.Top + 100)))) then begin x_step := x_step * -1; y_step := y_step * -1; end end end; |
Re: [PONG] Kollision mit Schläger funktioniert nicht
Was geht denn nicht?
Ich bin der Meinung, daß in der unteren if-Abfrage (mit den Panels) nur "x_step := x_step * -1;" hingehört, die y-Richtung wird ja nicht verändert. Und irgendwie muss doch für die Abfrage für die untere Seite auch noch der Durchmesser des Balls abgezogen werden... :gruebel: Und daß du in der ersten if-Abfrage (mit dem Screen) auch den rechten und linken Rand berücksichtigst, obwohl da ja eigentlich die Panels für zuständig sind, kommt mir irgendwie auch spanisch vor ;-) |
Re: [PONG] Kollision mit Schläger funktioniert nicht
JA... :roll: ...leuchtet ein...
Werd nochmal gucken... MfG Florian :hi: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 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