Главная страница
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.042 c
15-1175417739
Calibr
2007-04-01 12:55
2007.04.29
Perl с HTML


11-1156924822
Ал
2006-08-30 12:00
2007.04.29
Кому не жалко - поделитесь кодом


15-1175234938
REA
2007-03-30 10:08
2007.04.29
Operator overloading


15-1175328227
VirEx
2007-03-31 12:03
2007.04.29
сжатие траффика, как настроить MirandaIM (ICQ,IRC,MRA) для CProxy


15-1175480795
Slider007
2007-04-02 06:26
2007.04.29
С днем рождения ! 31 марта