Динамическое меню
| |
Vicka | Дата: Среда, 13 Мая 2015, 22:08 | Сообщение # 1 |
Another ART
Сейчас нет на сайте
| В общем я как всегда с головоломной задачкой) Придумала динамическое меню) Но как эту заразу реализовать не могу придумать) И так постановка задачи - имеем круг разделенный посекторно. Сектора создаются динамически и их может быть до.. много) К каждому из секторов привязан определенная группа иконок) Наполнение сектаров происходит динамически) Иконки не могут выходить за границы своего сектора и в итоговой позиции наезжать на собратьев)
Для более наглядного понимания сути вопроса вот вам скрин
и собственно сама флеш концепт идея)
Ну от меня как всегда ПЛЮшки всем соучастникам)
Добавлено (13 мая 2015, 22:08) --------------------------------------------- эй народ?) Это очень сложно или супер легко?) Яже не прошу сделать за меня) Дайте хотя-бы направление )
|
|
| |
Virtualcreature | Дата: Среда, 13 Мая 2015, 22:48 | Сообщение # 2 |
постоянный участник
Сейчас нет на сайте
| как насчет идеи "Сделать перемещение и коллизии на встроенном физическом движке"? как по мне - динамические менюшки это круто)
|
|
| |
Flow | Дата: Среда, 13 Мая 2015, 22:59 | Сообщение # 3 |
-=[.FSProduction.]=-
Сейчас нет на сайте
| Vicka, как вариант - юзать "Orbiter Behavior" c нулевой скоростью. А сектора определять углом.
|
|
| |
Zealot | Дата: Четверг, 14 Мая 2015, 00:07 | Сообщение # 4 |
был не раз
Сейчас нет на сайте
| Думаю, углом надо определять не только сектора, а и иконки в них. Значения можно хранить в массивах. Один массив, в котором элементы - секторы, а остальные массивы с элементами-иконками. Потому как в отдельных переменных хранить - жесть, думаю) Вам надо определить, как вы хотите упорядочивать сами сектора и иконки в них. Например, можно представить их в порядке часовой стрелки (с какого градуса отсчет - на ваш выбор также). Тогда элементы секторов всегда будут выстраиваться в ряды слева направо. Соответственно, каждому элементу отдельно будет прописана его позиция (если вы конечно не хотите смещать их в начало при отсутствии временном предыдущих иконок). Можно задать любой другой порядок. В упорядочивании собственно и главный вопрос, как я понимаю. Например, судя по вашей флешке, следующий ряд после первого занимает промежуточные места между ячейками 1 ряда (по углу наклона). Вообще, дуги секторов должны динамически высчитываться из расчета 360/N, где N - количество секторов. Так же определяются и ячейки в ряду. Если размер иконки перманентный, то нужно просто поделить дугу на кол-во ячеек в ряду (каждая - с полуотступами от других по бокам). Главное чтобы при росте кол-ва секторов в них оставалось достаточно места для размещения иконок, иначе придется менять размер иконок динамически, что не есть хорошо наверное. И кстати, Констракт 1 или 2? Для размера секторов и ячеек вряд ли подойдет функция Set Size, т.к. полезет растр. Пожалуй, лучше заменять на готовые спрайты другого размера. Из-за динамического кол-ва секторов угол ячеек (луча их сдвига) также будет непостоянным. Хотя, есть другой вариант: вы можете расписать окружность на "гарантированные" места для ячеек, вне зависимости от того, к какому сектору они принадлежат. Единственная проблема тогда - если размеры иконок и границ секторов не динамические, то придется задать ширину между ячейками эквивалентную ширине между секторами. Вы знаете, что-то я увлекся видимо. Расскажите пожалуйста, что можно делать с кругом, а что нельзя. И что в нем меняется (и если да, то каким образом), а что - нет. А то я вам тут лапши на уши понавешаю гипотетической... Если так не удобно, то я могу попробовать составить список вопросв, прежде чем давать ответы на всё подряд)
Добавлено (14 мая 2015, 00:07) --------------------------------------------- Пока не заснул, вопрос: меню - на отдельном лэйауте или просто на верхнем слое? А еще скорее всего вам нужно будет ввести определенное количество глобальных переменных. А именно: плотность (отвечает за близость секторов/ячеек друг к другу), кратность (коэффициент размера секторов, ячеек, направляющих для перемещения, градусов и т.д. из расчета кол-ва секторов и кол-ва ячеек в каждом). Но это всё уже детали.
Добавлено модератором --------------------------------------------- Construct 2. Вика забыла это указать, я вписал в шапку самостоятельно. --- Nick_Rimer
Сообщение отредактировал Zealot - Среда, 13 Мая 2015, 23:38 |
|
| |
Vicka | Дата: Четверг, 14 Мая 2015, 09:21 | Сообщение # 5 |
Another ART
Сейчас нет на сайте
| Цитата Zealot ( ) Думаю, углом надо определять не только сектора, а и иконки в них. Значения можно хранить в массивах. Один массив, в котором элементы - секторы, а остальные массивы с элементами-иконками. Потому как в отдельных переменных хранить - жесть, думаю) Вам надо определить, как вы хотите упорядочивать сами сектора и иконки в них. Например, можно представить их в порядке часовой стрелки (с какого градуса отсчет - на ваш выбор также). Тогда элементы секторов всегда будут выстраиваться в ряды слева направо. Соответственно, каждому элементу отдельно будет прописана его позиция (если вы конечно не хотите смещать их в начало при отсутствии временном предыдущих иконок). Можно задать любой другой порядок. В упорядочивании собственно и главный вопрос, как я понимаю. Например, судя по вашей флешке, следующий ряд после первого занимает промежуточные места между ячейками 1 ряда (по углу наклона). Вообще, дуги секторов должны динамически высчитываться из расчета 360/N, где N - количество секторов. Так же определяются и ячейки в ряду. Если размер иконки перманентный, то нужно просто поделить дугу на кол-во ячеек в ряду (каждая - с полуотступами от других по бокам). Главное чтобы при росте кол-ва секторов в них оставалось достаточно места для размещения иконок, иначе придется менять размер иконок динамически, что не есть хорошо наверное. И кстати, Констракт 1 или 2? Для размера секторов и ячеек вряд ли подойдет функция Set Size, т.к. полезет растр. Пожалуй, лучше заменять на готовые спрайты другого размера. Из-за динамического кол-ва секторов угол ячеек (луча их сдвига) также будет непостоянным. Хотя, есть другой вариант: вы можете расписать окружность на "гарантированные" места для ячеек, вне зависимости от того, к какому сектору они принадлежат. Единственная проблема тогда - если размеры иконок и границ секторов не динамические, то придется задать ширину между ячейками эквивалентную ширине между секторами. Вы знаете, что-то я увлекся видимо. Расскажите пожалуйста, что можно делать с кругом, а что нельзя. И что в нем меняется (и если да, то каким образом), а что - нет. А то я вам тут лапши на уши понавешаю гипотетической... Если так не удобно, то я могу попробовать составить список вопросв, прежде чем давать ответы на всё подряд)
Добавлено (14 мая 2015, 00:07) --------------------------------------------- Пока не заснул, вопрос: меню - на отдельном лэйауте или просто на верхнем слое? А еще скорее всего вам нужно будет ввести определенное количество глобальных переменных. А именно: плотность (отвечает за близость секторов/ячеек друг к другу), кратность (коэффициент размера секторов, ячеек, направляющих для перемещения, градусов и т.д. из расчета кол-ва секторов и кол-ва ячеек в каждом). Но это всё уже детали.
оу. даже не предполагала что все так заморочено. Извините что потратила ваше время) Думаю откажусь от этой идеи)
Nick закрой тему плиз)
Добавлено модератором --------------------------------------------- Закрывать подобные темы пока не планируется. --- Nick_Rimer
Сообщение отредактировал Vicka - Четверг, 14 Мая 2015, 09:22 |
|
| |
|