Thema: Delphi break it problem

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

Re: break it problem

  Alt 31. Jan 2010, 17:20
Erstmal die Reihenfolge ändern
und die Grenzen richtig setzen.
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var x,y:integer;

begin
  x := 5;
  y := 5;
 
  if (Shape1.Top <= 100) or (Shape1.Top >= image1.ClientHeight - Shape1.Height) then
  begin
    y := -y;
  end;
  if (Shape1.Left <= 0) or (Shape1.Left >= image1.ClientWidth - Shape1.Width) then
  begin
    x := -x;
  end;

  Shape1.Left := Shape1.Left + x;
  Shape1.Top := Shape1.Top + y;
end;
So, jetzt würden zumindestens die Shapes erstmal am Rand hängenbleiben, da rechtzeitig ausgewertet wird.

- Variable setzen
- diese Variable verrechnen
- jetzt erst die Begrenzung beachten und Wert änder bringt nichts mehr, da es schon verrechnet wurde


Ja und nun noch der nächste Schritt:

die variablem in den Private-Abschnitt der Form verschieben
var x,y:integer; und die Starteinstellung z.B. ins OnCreate (nur einmal bei, bzw. vor dem Start setzen)
Delphi-Quellcode:
x := 5;
y := 5;
$2B or not $2B
  Mit Zitat antworten Zitat