Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.29;
Скачать: 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 вся ветка

Текущий архив: 2007.04.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.039 c
6-1162293530
vcdima
2006-10-31 14:18
2007.04.29
POST запрос при помощи WinInet


1-1172518078
KOSS
2007-02-26 22:27
2007.04.29
Наследник


3-1170831533
Ламерок
2007-02-07 09:58
2007.04.29
Как вставить картинку в таблицу базы данных?


2-1176159599
frog33
2007-04-10 02:59
2007.04.29
Цвет выделения ListView


15-1173797879
oldman
2007-03-13 17:57
2007.04.29
Эх, нам бы так.