[Delphi] kolizje ...

0

cześć ... od razu do rzeczy :-)
mam shap'a który odbija się od ścian ekranu ( formy )
na dole umieściłem panela. Chciałbym żeby po odbiciu się piłki od panela ona dalej się odbijała ( rozumiecie ? :-))
gdy wylecie poza panel ( na dole poza ekran ) to ma się pojawić komunikat np.. cześć :-)
mam przykładowy kodzisz :
var
Form1: TForm1;
X,Y : boolean;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
If (Shape1.left > Form1.Width - Shape1.Width) Then X := True;
If (Shape1.left Form1.Height - Shape1.Height) Then Y := True;
If (Shape1.Top

0

ehhhhh
dodaj panel i take cos:
If ((Shape1.Left > Panel1.Left - Shape1.Width) and
(Shape1.Left Panel1.Top - Shape1.Height) Then Y := True;

A z tym komunikatem ( :-D ) to sprawdz czy Shape nie wyszedl poza dolna granice formy i już. [cygaro]

ps. nie chcialo mi sie dokladniej pisac.
ps2. jeszcze raz sie zapytasz o to na gg to zastrzele [diabel]

0

Ja to trochę inaczej bym robił, ale już nie chcę zmieniać całego twojego kodu, więc tylko przeróbka.

var
Form1: TForm1;
X,Y : boolean;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
If (Shape1.left > Form1.Width - Shape1.Width) Then X := True;
If (Shape1.left Form1.Height - Shape1.Height) Then Y := True;
if (Shape1.Left + Shape1.Width Panel1.Left + Panel1.Width) then
begin
ShowMessage('Ups');
Exit;
end
else
if (Shape1.Top

1 użytkowników online, w tym zalogowanych: 0, gości: 1