AW: Ballspiel(Pongähnlich)
Nö, das hast Du eben nicht gemacht. Setz doch übrigens bitte künftig Delphi-Tags, das ist die Schaltfläche mit dem Helm im Beitragseditor, dann wird das auch schön formatiert. Ich mach das hier mal, dann sieht das so aus:
Delphi-Quellcode:
Richtig wäre gewesen:
begin
Shape1.Left:= Shape1.Left+VersatzX; Shape1.Top:= Shape1.Top+VersatzY; if (0 >= self.Shape1.Left) or (self.Shape1.Left >= self.Width - self.Shape1.width) then VersatzX := -VersatzX end; (* Das hier steht nun frei im Raum, damit kann der Compiler nichts anfangen *) var X: integer; begin X := VersatzX; if X < 0 then //Ball bewegt sich nach links begin if Shape1.Left < -X then X := - Shape1.Left; end else //Ball bewegt sich nach rechts begin if ClientWidth < (Shape1.Left + Shape1.Width + X) then X := ClientWidth - (Shape1.Left + Shape1.Width); end; Shape1.Left:= Shape1.Left + X; (* Hier dann noch dasselbe für die Y-Achse, die Kollisionskontrolle und ggf. das Umdrehen des Vorzeichens *) end;
Delphi-Quellcode:
procedure TDeinForm.DasWasDemTimerZugewiesenIst(Sender: TObject);
var X: integer; begin X := VersatzX; if X < 0 then //Ball bewegt sich nach links begin if Shape1.Left < -X then X := - Shape1.Left; end else //Ball bewegt sich nach rechts begin if ClientWidth < (Shape1.Left + Shape1.Width + X) then X := ClientWidth - (Shape1.Left + Shape1.Width); end; Shape1.Left:= Shape1.Left + X; (* Hier dann noch dasselbe für die Y-Achse, die Kollisionskontrolle und ggf. das Umdrehen des Vorzeichens *) end; |
AW: Ballspiel(Pongähnlich)
danke für alles :)
habe es ohne den befehl hinbekommen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz