![]() |
Появлние мувика на незанятом экранном пространстве
Здравствуйте, уважаемые!
Что имеем: пространство экрана. Часть занята меню, часть - несколькими "плавающими" мувиками. Что хочется: чтобы новый мувик появлялся на незанятом, свободном пространстве экранной области (или) с минимальным перекрытием с другими мувиками. Все мувики создаются AS, и располагаются на разной глубине. Не хотелось бы работать с простым перебором... Подскажите пожалуйста возможное решение. |
:( не совсем понимаю как именно все должно выглядеть ...
|
ну чисто теоретически такое можно сделать наверное только для частных случаев
а вообще можно перебором опросить все мувики присутсвующие на сцене на предмет их положения и размеров найти наиболее свободное пространство... и поместить туда новый но это сложный алгоритм |
Вложений: 1
Цитата:
|
Цитата:
Чисто алгоритмически я представляю как это сделать, но уж больно навороченный код будет... Это как кривая Безье, формально - достаточно сложная, а на практике - очень простым циклом строится. |
я так понимаю имеющиеся мувики у тебя меняют координаты, да?
|
если да, то я думаю в onEnterFrame по рандому задавай координаты для поключаемого мувика, проверяй перекривает ли он уже имеющиеся, если да повторяй цикл если нет то вставляй мувик.
|
Цитата:
Резюме: что предпочтительнее - перебор или некий хитрый алгоритм? |
тебе нужно только один раз вставить мувик, да? если это действительно так, то тебе достаточно выйти из цикла когда найдешь подходящее место. и тогда ничего не зациклиться :) Никакой хитрости здесь нет, простой рандом. для облегчения задачи можно вообще разбить всю рабочую область на несколько зон (где могут находиться мувики) . например там на 12. создать соответсвующий масив (такй размерности) в котором елемент со значением 1 будет соответсвовать занятой области. вот. такие вот у меня мысли по этому поводу :rolleyes:
|
Кстати, насчет зон - это мысль!
|
| Часовой пояс GMT +4, время: 08:31. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.