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;