Thema: Delphi Ball bewegen mit Canvas

Einzelnen Beitrag anzeigen

tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Ball bewegen mit Canvas

  Alt 7. Okt 2005, 16:21
Du speicherst dir die aktuelle x- und y-Bewegungsrichtung. Dann überprüfst du, ob der Ball gerade die Wand berührt, wenn ja, setzt du die Bewegungsrichtung entsprechend um. Als Beispiel (für die x-Richtung):

Delphi-Quellcode:
var xMove: integer;
    x,y: integer;
begin
  // Initialisieren:
  xMove := +10;
  x := 100;
  y := 100;
  repeat
    // alten Ball löschen:
    Image1.Canvas.Pen.Color:=clwhite;
    Image1.Canvas.brush.Color:=clwhite;
    Image1.Canvas.Ellipse(x,y,x+50,y+50);

    // neuen Ball malen:
    Image1.Canvas.Pen.Color:=clgreen;
    Image1.Canvas.brush.Color:=clyellow;
    Image1.Canvas.Ellipse(x,y,x+50,y+50);

    if (x = 50) and (xMove < 0) then
      xMove := +10 else // an der linken Wand abprallen
    if (x = Image1.Width - 50) and (xMove > 0) then
      xMove := -10; // an der rechten Wand abprallen

    x := x + xMove;
    Delay(500);
  until <Abbruchbedingung>;
end;
Das ist jetzt quick and dirty, und für den Programmierstil gehör ich eigentlich auch erschossen, aber ein bisschen Arbeit muss dir ja auch noch bleiben.
Christian
Der Computer hilft mir, Probleme zu lösen, die ich ohne Computer nicht hätte.
  Mit Zitat antworten Zitat