Вниз
Скачать: CL | DM;

Положение через random   Найти похожие ветки 

← →
SerJaNT ©   (2007-04-04 01:52) [0]

В цикле создается n-ое количество Image, положение которых (top, left) задается через RandomRange. Вначале кода я не забыл написать Randomize, но проблема вот какая: все созданные компоненты Image находятся практически рядом, а хотелось бы чтобы все они были в разброс т.е. чтобы редко когда они могли находится рядом. Есть какие-нибудь идеи, как можно это проделать?


← →
Германн ©   (2007-04-04 02:06) [1]


> SerJaNT ©   (04.04.07 01:52)
>
> В цикле создается n-ое количество Image, положение которых
> (top, left) задается через RandomRange. Вначале кода я не
> забыл написать Randomize, но проблема вот какая: все созданные
> компоненты Image находятся практически рядом, а хотелось
> бы чтобы все они были в разброс т.е. чтобы редко когда они
> могли находится рядом. Есть какие-нибудь идеи, как можно
> это проделать?
>

Проснись как следует. Сполосни холодной водой лицо, взбодрись и задай вопрос.
Приведи строки программы, где ты создаёшь эти Image.
:)


← →
SerJaNT ©   (2007-04-04 02:17) [2]

for i:=0 to 20 do
begin
  // создаем новый экземпляр
  mpHero:=TImage.Create(image1);
  // устанавливаем имя
  mpHero.Name:="mpHerouk_"+inttostr(i);
  // подгоняем под размер
  mpHero.AutoSize:=true;
  // делаем фон прозрачным
  mpHero.Transparent:=true;
  // какой рисунок грузить?
  h:=RandomRange(0,3);
  // устанавливаем событие OnClick каждом рисунку
  mpHero.OnClick:=Check;
 
  // в зависимости от h, грузим рисунки
  if h = 0 then begin
  mpHero.Picture.LoadFromFile(extractfilepath(application.ExeName)+"images/image_1.png");
  end;

  if h = 1 then begin
  mpHero.Picture.LoadFromFile(extractfilepath(application.ExeName)+"images/image_2.png");
  end;

  // позиция по x
  mpHero.Top:=RandomRange(0,image1.Height); // image1 растянут на всю форму

  // позиция по y
  mpHero.Left:=RandomRange(0,image1.width);

end;


← →
Zeqfreed ©   (2007-04-04 04:38) [3]

Делить форму на n областей по нормальному закону распределения и затем выбирать случайные значения из этих областей.


← →
Zeqfreed ©   (2007-04-04 04:40) [4]

Ну или если особо не заморачиваться, то просто сеткой.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
15-1175454447
{RASkov}
2007-04-01 23:07
2007.04.29
ShowMessage(


9-1148581647
Shmidt
2006-05-25 22:27
2007.04.29
Как сделать чтобы после выстрелов по 5 мишеням появилось сообщени


2-1176401844
ppcumax
2007-04-12 22:17
2007.04.29
Как получить HTML код страницы с помощью ClientSocket?


1-1173180839
tytus
2007-03-06 14:33
2007.04.29
Как проверить пустой ли битмап?


2-1176032757
delphi_
2007-04-08 15:45
2007.04.29
туплю с INI




   Наверх