Einzelnen Beitrag anzeigen

Andy1988

Registriert seit: 20. Dez 2006
Ort: Langen (Hessen)
7 Beiträge
 
#1

Ball bewegen mit Timer(Ball=Canvas darstellung)

  Alt 20. Dez 2006, 19:02
Hallo Leute,

Erstmal muss ich sagen das ich euer Forum richtig Klasse finde, da ich seit langem hier unterwegs bin mich aber nie regestriert habe.
Ich habe mir mal vorgenommen mal ein Pong Spiel zu programmieren, aber da habe ich gleich auch erste Probleme mit dem Ball. Wie kann ich den das ganze so machen, wenn das Spiel gestartet wird, dann soll ein ball auftauchen der hin und her sich bewegt, also vom rand abprallt und von dem schläger usw. Ich weiss net wie ich das realisieren soll. Erste Ansätze habe ich schon versucht, aber das war schon mal ganz schlecht. Hier ist es:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  x2 := x2 + 10;
  y2 := y2 + 10;
  x3 := x3 + 10;
  y3 := y3 + 10;

  // wenn oben oder unten angekommen dann Richtung wechseln
  if (y2 <= 0) or (y2 >= Form1.ClientHeight)
  or (y3 <= 0) or (y3 >= Form1.ClientHeight) then
  begin
    y2 := y2-30;
    y3 := y3-10;
  end;

  //wenn rechts oder links angekommen dann Richtung wechseln
  if (x2 <= 0) or (x2 >= Form1.ClientWidth)
  or (x3 <= 0) or (x3 >= Form1.ClientWidth) then
  begin
    x2 := x2-20;
    x3 := x3-40;
  end;
end;
Diese x und y werte sind von der Ellipse die ich erstellt habe. so jetzt meine frage, wie kann ich das so programmiere, das wenn er den rand von der Form berührt die richtung wechselt und das gleiche bei den schlägern?
Lebe so wie du willst und programmiere so wie du willst, aber du trägst die Verantwortung.
  Mit Zitat antworten Zitat