|
|
|||||
Регистрация: Mar 2013
Сообщений: 157
|
Разместить объекты в области
Здравствуйте
Подскажите пожалуйста как реализовать следующую задачу. Есть 5 объектов и есть 4 области. Из объекта создаются его экземпляры N-количество раз (случайную генерацию я реализую). Нужно разместить экземпляры в области случайным образом, чтобы они друг на друга не налаживались. Области могут иметь разную форму (например, как на картинке). |
|
|||||
у нас есть hitTestObject
Если необходимо, чтобы четко по контуру пересечение было (так как hitTestObject смотрит пересечение именно ограничительной рамки, то есть, квадрат, в который вписывается объект), то применив смекалку, можно, опять же, решить эту проблему при помощи hitTestObject. Также можно в объектах создать массив точек, по которому будем проверять пересечение. Собственно, это аналогично первому варианту, только там это можно сделать через много мувиков внутри объекта, а тут можно просто кодом описать те же самые векторы координат.
__________________
while(live()) { hope(); } |
|
|||||
Регистрация: Mar 2013
Сообщений: 157
|
За hitTestObject я знаю. Но проблема в том, как "заставить" объекты пересечь необходимую область. Например, если использовать Drag & Drop ,то пользователь сам перемещал объект на указанную область и срабатывала проверка с помощью функции hitTestObject , а в данном случае получается необходимо использовать массив точек только?
Или прописывать объекту координаты области в которую хочу его поместить, а дальше запускать функцию расстановки объектов, чтобы они не пересекались в области. |
|
|||||
Не очень понял. Так нужно, чтоб они пересекались, или не нужно? Все выглядит довольно очевидно: создаем рандомные координаты, проверяем их на hitTest, если пересекаются - пересоздаем. И так пока не профит.
__________________
while(live()) { hope(); } |
|
|||||
Регистрация: Mar 2013
Сообщений: 157
|
Объекты должны пересекаться с областью (с любой). Но между собой объекты пересекаться на одной области не должны.
Я понял. Нужно постоянно рандомно получать координаты пока они не будут пересекаться хоть с одной из областей. Получается, чтобы объекты не налаживались друг на друга (в области) необходимо так же использовать hitTest? |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
объекты можно заменить ограничивающими прямоугольниками?Например, чтоб оптимально упаковать подковообразные объекты, придется учитывать,что они имеют невыпуклую форму.
|
|
|||||
Регистрация: Mar 2013
Сообщений: 157
|
Я сделал объекты одинаковой формы (деревья), вроде что-то вырисовывается. Но надо теперь разобраться как сделать, чтобы объекты не налаживались друг на друга
|
|
|||||
видимо, где-то лажа, вот они и налаживаются
__________________
while(live()) { hope(); } |
Часовой пояс GMT +4, время: 21:21. |
|
« Предыдущая тема | Следующая тема » |
|
|