Пятница, 29 Ноября 2024, 08:01

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Динамическое меню
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
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг