Всем привет! Помогите, пожалуйста, студенту решить задачку  . Нужно, чтобы Flash создавал узлы и связывал их рёбрами, получая данные из матрицы смежности. Я кое-чего набросал и упёрся в тупик. В библиотеке есть мувиклип с идентификатором "uzel". Код | var podmatrica1:Array = new Array(0, 0, 1, 1, 0); var podmatrica2:Array = new Array(0, 0, 0, 1, 1); var podmatrica3:Array = new Array(1, 0, 0, 0, 1); var podmatrica4:Array = new Array(1, 1, 0, 0, 0); var podmatrica5:Array = new Array(0, 1, 1, 0, 0); var matrica_smezhnosti:Array = new Array(podmatrica1, podmatrica2, podmatrica3, podmatrica4, podmatrica5);
_root.onMouseDown = function() { k = 0; l = 0; for (i=0; i<matrica_smezhnosti.length; i++) { k++; _root.attachMovie("uzel","uzel"+k,_root.getNextHighestDepth()); _root["uzel"+k]._x = Math.random()*Stage.width; _root["uzel"+k]._y = Math.random()*Stage.height; for (j=0; j<matrica_smezhnosti[i].length; j++) { if (matrica_smezhnosti[i][j] == 1) { l++; _root.createEmptyMovieClip("rebro"+l,_root.getNextHighestDepth()); _root["rebro"+l].lineStyle(1,0x000000); _root["rebro"+l].moveTo(_root["uzel"+k]._x,_root["uzel"+k]._y); _root["rebro"+l].lineTo(_root["uzel"+(k-1)]._x,_root["uzel"+(k-1)]._y); //"(k-1)" - это неправильно, взято просто для примера, чтобы линии рисовались. //Нужно как-то обратиться к значению массива в ячейке [j][i] и провести линию //туда, но как? } } } };
|
|