Рандомное создание объектов на границе экрана

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.

Рандомное создание объектов на границе экрана

Сообщение Agiliter » 11 ноя 2014, 13:15

Добрый день! Требуется что периодически создавались объекты с любыми координатами, но на границе игрового экрана, а затем перемещались в центр. Сделал так
  1. var x:Number = Math.floor(Math.random() * width);//от 0 до width
  2. var y:Number;
  3.     if (x == 0 || x == width)
  4.         y = 0;//строго говоря, нужно не 0, а или 0 или height
  5.     else
  6.                 y = Math.floor(Math.random() * height);//от 0 до height
  7.             var point:Point = new Point(x, y);

Выглядит коряво и работает так же.
С уважением,
М.Ф.
Agiliter

 
Автор темы
Сообщения: 112
Зарегистрирован: 01 фев 2014, 13:46
Благодарил (а): 29 раз.
Поблагодарили: 0 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Рандомное создание объектов на границе экрана

Сообщение XELAD » 11 ноя 2014, 17:13

  1. var r = Math.random();
  2. var x = r < 0.5 ? (Math.random() * width) : (r < 0.75 ? 0 : width);
  3. var y = r < 0.5 ? (r < 0.25 ? 0 : height) : (Math.random() * height);
  4. var point:Point = new Point(x, y);

Сначала смотрим, по какой из сторон будем создавать: верх\низ или право\лево r < 0.5 ?.
По той стороне просчитываем рэндомно одну из координат, вторую определяем по четвертинке рэндома.

За это сообщение автора XELAD поблагодарил:
Agiliter
XELAD

 
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25
Благодарил (а): 13 раз.
Поблагодарили: 24 раз.


Вернуться в Программирование на Flash



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron