Hallo
Habe Gestern begonnen ein Pong zu schreiben siehe dazu hier:
http://www.delphipraxis.net/internal...highlight=pong
Geschafft habe ich:
-Spielerbewegung (derzeit synchron (mit keydown))
-Abprall an den Rändern
Nun möchte ich gern dass der Ball auch vom Spieler (Shape) reflektiert wird.
Spieler=Shape7
Ball=Shape5
Zur Überlegung:
(Ball nähert sich der rechten Seite)
i)x-Koordinate
Ball<=Spieler
Also:
Shape5.left<Shape7.Left
(Bzw genauer
(Shape5.left+Shape5.Heigth)<Shape7.Left
ii) y-Koordinate
oben<=Ball<=unten
Also:
a.)Shape7.Top<=Shape5.Top
b.)Shape5.Top<=(Shape7.Top+SHape7.Heigth)
(bzw. genauer
a)Shape7.Top<=(Shape5.Top+Shape5.Width)
b.)(Shape5.Top+Shape5.Heigth+Shape5.Width)<=(Shape 7.Top+Shape7.Heigth)
=>(einfache Version)
IF ((Shape5.left<Shape7.Left) AND (Shape5.Top=>Shape7.Top) AND (Shape5.Top<=(Shape7.Top+SHape7.Heigth))) THEN
dx:=-dx; //Abprall
Nur Leider fliegt mein Ball dann durch den Schläger -> Wandberührung GameOver
(Die Spielabbruchsbediengung werte ich in einer separaten IF-Anw aus und die Schläger bewege ich über KeyDown)
Habe auch schon probiert alle Relationszeichen zu drehen, dann müsste er ja reflektiert werden, wenn der Schläger nicht da ist, aber dies klappt auch nicht.
Lg