So, habe dann die ganzen wichtigen Bereiche in dem Ball vorkommt kopiert
die Klasse:
unit uBall;
interface
type
TBall = Class
private
fXSpeed : Single;
fYSpeed : Single;
public
Constructor Create(xspeed, yspeed : Single);
property YSpeed: Single read fYSpeed write fYSpeed;
property XSpeed: Single read fXSpeed write fXSpeed;
implementation
constructor TBall.Create(xspeed, yspeed : Single);
begin
self.fXSpeed := xspeed;
self.fYSpeed := yspeed;
end;
end;
hier wird der ball erzeugt:
Ball: TBall;
TBall.Create(0,-1)
und hier die betreffende methode die nicht funktioniert, in dem fall war Edge=1:
procedure TBrick.onCollision(Edge : Integer; Ball : TBall);
begin
case Edge of
1: Ball.YSpeed := Ball.YSpeed * -1;
2: Ball.YSpeed := Ball.YSpeed * -1;
3: Ball.XSpeed := Ball.XSpeed * -1;
4: Ball.XSpeed := Ball.XSpeed * -1;
end;
end;
Der Auruf ist:
Brick.OnCollision(1,Ball);