想要5个图像重复从屏幕顶部移动到屏幕底部

时间:2016-10-11 15:53:31

标签: delphi delphi-7

我想要从表单顶部到底部重复移动5个图像,每个图像都比前一个稍微提前,左边是随机值。我尝试过这样做,虽然他们似乎总是将他们的最高价值相互对齐。在表单激活时,它们的最高值都设置为相隔120左右。

代码:(在计时器中)

////// image1 //////
if image1.Top > 600 then begin
image1.visible := true;
image1.top := -300;
repeat
ml1 := randomrange(0, 9);
until (ml1 <> ml2) and (ml1 <> ml3) and (ml1 <> ml4) and (ml1 <> ml5);
 case ml1 of
  1 : image1.left := 8;
  2 : image1.left := 80;
  3 : image1.left := 152;
  4 : image1.left := 224;
  5 : image1.left := 296;
  6 : image1.left := 368;
  7 : image1.left := 440;
  8 : image1.left := 512;
  9 : image1.left := 584;
 end;//case
end;//if

所有图像都具有相同的代码。 在一个单独的计时器中,我将每个图像的最高值以相同的间隔增加相同的数量。

1 个答案:

答案 0 :(得分:0)

考虑从0和120开始的两个最高值。一个计时器经常递增这些值。当值达到605和725时,您显示的计时器将触发。逻辑(如果X> 600,则X:= - 300)应用于两者。现在值为-300和-300