Показать сообщение отдельно
Старый 01.03.2012, 01:04
un1ted вне форума Посмотреть профиль Отправить личное сообщение для un1ted Найти все сообщения от un1ted
  № 1  
Ответить с цитированием
un1ted

Регистрация: May 2010
Сообщений: 3
Question Многоуровневая древовидная диаграмма

Всем привет,
делаю сейчас вот такую штуку (во вложении картинка diagramm.gif)..

Диаграмма имеет один центр и n вложений. Все они должны распределяться в зависимости от уровня и количества их на уровне.

Идея заимствована c http://mbostock.github.com/d3/ex/tree.html

Итак, есть XML-ка вида

Код:
<?xml version="1.0" encoding="UTF-8"?>
<category0 cat_name="Уровень 0">
	<category1 cat_name="Уровень 0.1">
		<category2 cat_name="Уровень 0.1.0">
			<category3 cat_name="Уровень 0.1.0.0"/>
		</category2>
		<category2 cat_name="Уровень 0.1.1">
			<category3 cat_name="Уровень 0.1.1.0"/>
		</category2>
	</category1>	
</category0>
, я ее гружу, разбираю и вытаскиваю все параметры. Затем я аттачу клипы на сцену и даже задаю им координаты.

Код AS1/AS2:
function circ_attach():Void
{
	for(var i=0; i<cat_num; i++){
 
		main_mc.attachMovie("circ_mc", "circ"+i+"_mc", i);
		main_mc["circ"+i+"_mc"].cat_name_txt.text = cat_arr[i];
		main_mc["circ"+i+"_mc"].cat_name_txt.autoSize = true;
 
		main_mc["circ"+i+"_mc"]._x = 50 * lvl_arr[i];
		main_mc["circ"+i+"_mc"]._y = num_arr[i] * 20 + Stage.height/2;
 
	}
}
Как мне их правильно распределить по кругу в зависимости от подуровня, его родителя и угла поворота?

Вопросы вдогонку:
Как сделать такие же соединительные кривые как на картинке?
Как сделать, чтобы при наведении на кружек n-го уровня подсвечивались все его родители?

Спасибо.
Изображения