Я в основном пытаюсь создать древовидную диаграмму. Я создал 1-й уровень и хотел поместить его в массив, чтобы следующий уровень мог получить свойства от предыдущего уровня / массива.
Но теперь мне кажется, что я не могу вставить круги с собственным уникальным «именем» в circleNewArray. в чем тут проблема?
Я до сих пор не уверен, что способ, которым я создаю свой код для динамического intance / data / mc с макс. 2 разделением, верен или нет, так как я думаю, что он включает в себя 2–3 массива, чтобы держать его на одном уровне, когда данные загружается и перегруппируется снова при выполнении разделения уровней.
Если у вас есть идея получше, она тоже будет очень признательна. спасибо!
закрытая функция dataLevel (): void {
rootLevel=new Array();
rootLevel.push(20,200);
newArray=new Array();
var no1:Number=1;
var no2:Number=2;
if (rootLevel is Array==true) {
createBranch(rootLevel);
for (var j:Number=0; j<rootLevel.length; j++) {
newArray[j]=new Array();
newArray[j].push(j);
createBranch(newArray[j]);
}
}
}
//-------------------------------------------------------------------
private function createBranch(runningObj:Object):void {
circlesNewArray = new Array();
var i2=i-1;
for (var i:Number=0; i<runningObj.length; i++) {
circles = new MovieClip();
var empty=null;
circles.graphics.beginFill(0xFF2222);
circles.graphics.drawCircle(empty,empty,10);
circles.graphics.endFill();
//Passing 2 cirls in an Array
circlesNewArray[i]=new Array();
circles.name="circles"+i;
circlesNewArray[i].push(circles[i]);
if (runningObj==rootLevel) {
circles.x=trunks.x - (Math.floor(Math.random()*100)-50);
circles.y=trunks.y - (Math.floor(Math.random()*100));
} else if (runningObj!=rootLevel) {
circles.x=circlesNewArray[i2]-(Math.floor(Math.random()*100)-50);
circles.y=circlesNewArray[i2]-(Math.floor(Math.random()*100));
}
//trace(circles.x, circles.y);
circles.buttonMode=true;
circles.addEventListener(MouseEvent.CLICK, clickTarget);
addChild(circles);
}
}