Всем привет,
делаю сейчас вот такую штуку (во вложении картинка 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-го уровня подсвечивались все его родители?
Спасибо.