![]() |
Kleines Fussball Spiel / Problem!
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute!
Ich habe gestern angefangen ein kleines spiel zu programmieren doch ich komme nicht weiter! Der ball rollt und prallt ab etc. aber es gibt probleme beim spieler also der kollision und der punkte vergabe die klappt nur manchmal etc. habe den Code mal angehangen, könnt es euch ja mal anschauen, wäre nett! mfG |
Re: Kleines Fussball Spiel / Problem!
Setze doch mal einfacher an:
Delphi-Quellcode:
Das wäre doch bereits die komplette Kollisionsabfrage mit Änderung der Vektoren.
[...]
var geschwindigkeit:tpoint; [...] if (ball.left<feld.left) or (ball.left>feld.width+feld.left-ball.width) then geschwindigkeit.x:=-geschwindigkeit.x; if (ball.top<feld.top) or (ball.top>feld.height+feld.top-ball.height) then geschwindigkeit.y:=-geschwindigkeit.y; [...] Edit: Schlechtschreibung :) |
Re: Kleines Fussball Spiel / Problem!
hm wo kommt das hin? verstehe das nicht :(
|
Re: Kleines Fussball Spiel / Problem!
Wie beschrieben: es ist die Kollisionsabfrage inclusive der Vektoränderung. Ich kommentiere es einfach mal, vielleicht hilft es Dir ja.
Delphi-Quellcode:
[...]
var //dies ist dein Geschwindigkeitsvektor mit .x und .y Eigenschaft. geschwindigkeit:tpoint; [...] //deine restlichen Abfragen/Prozedurabläufe //falls der Ball außerhalb deines Spielfeldes ist (links oder rechts), //dann wird der Geschwindigkeitsvektor negiert, das heißt, er bewegt //sich von dort an in die andere x-Richtung, "prallt also ab" if (ball.left<feld.left) or (ball.left>feld.width+feld.left-ball.width) then geschwindigkeit.x:=-geschwindigkeit.x; //und gleich nochmal für die y-Koordinaten if (ball.top<feld.top) or (ball.top>feld.height+feld.top-ball.height) then geschwindigkeit.y:=-geschwindigkeit.y; [...] //Darstellung etc. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:27 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