Blir väldigt krångligt om du ska hålla på med shapar använd DelphiX istället så kan du använda spritar.
Jag håller på med ett pong spel.
shape1 är en boll och shape2 är en pong bräda som finns i båda ändar för att hindra bollen från att stöta i kortsidorna.
När jag skriver in följande kod kan inte bollen stöta i kanten eftersom den studsar när den har samma x koordinat som shape2 (även om de har helt olika y värden)
begin
if shape1.left > form1.width - shape1.Width then dx:=-dx;
if shape1.left < 0 then dx:=-dx;
shape1.left:=shape1.left + dx;
if shape1.top > form1.height - shape1.height then dy:=-dy;
if shape1.top < 0 then dy:=-dy;
shape1.top:=shape1.top + dy;
if shape1.Left>shape2.Left -65 then begin
dy:=-dy;
dx:=-dx;
end;
(inte hela koden)
det är den här delen av koden som gör det men tar jag bort det så studsar inte bollen mot brädan.
if shape1.Left>shape2.Left -65 then begin
dy:=-dy;
dx:=-dx;