Главная страница
    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.043 c
15-1175169498
Kolan
2007-03-29 15:58
2007.04.29
Опрос для пользователей DMClient.


15-1175604524
Post_
2007-04-03 16:48
2007.04.29
Ноут.


2-1175928885
-=Tiger=-
2007-04-07 10:54
2007.04.29
Подскажите ссылку на компонент...


2-1175957800
Lamer666
2007-04-07 18:56
2007.04.29
поиск DBGridEH field name "not found


15-1175006327
Леонид
2007-03-27 18:38
2007.04.29
ICQ





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский