| 
				
				Динамическое меню
				 |   |  
| 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  |  
| 
 | 
 |    |     
		
		 
 |