Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.04.29;
Скачать: [xml.tar.bz2];

Вниз

Положение через 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.04 c
5-1152871960
Solomenko
2006-07-14 14:12
2007.04.29
Свойство типа TForm в компоненте не работает


2-1175855454
voe
2007-04-06 14:30
2007.04.29
Определение типа данных.


15-1175757696
Yanis
2007-04-05 11:21
2007.04.29
Что за чудо?


15-1175359491
ArtemESC
2007-03-31 20:44
2007.04.29
С наступающим днем Космонавтики!!!


15-1175472535
Германн
2007-04-02 04:08
2007.04.29
Впервые вижу такую пустоту на форуме!?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский