我基本上是想在任意位置绘制星星,我现在面临的问题是,当我在一个循环内调用该过程时,即使该循环运行1000次,也只能绘制1-2个星星。
我已经尝试通过单击按钮来生成一个,并且它起作用了,所以我认为这与Random在循环内无法正常工作有关。
randomize();
i := 0;
while i < 1000 do begin
x := random(Image1.Width);
y := random(Image1.Height);
Ellipse(x, y, x+3, y+3);
i += 1;
end;
将呼叫转移到Randomize
。当置于循环中时,它将根据系统时间重新初始化伪随机数生成器,自上次调用以来该时间可能没有更改。