Приветствую.
Есть небольшая проблема.
строю прототип графа.
элементы пока раскидываю хаотично.
в итоге у каждого элемента есть свои координаты и метод connect_to, на вход которому подаётся второй элемент (с которым соеденить).
в итоге делается line_to от этого элемента с тем которым соединить.
но в итоге линия рисуется только на половину (вернее по координатам рисуется она правильно, но элемент находится не там)
[IMG]http://************/uploads/100607/A5uJvJJTfg.jpg[/IMG]
Рисуем так из JSON строки

Код AS3:
private function buildtree(tree):void{
for (var i:Number=0; i<tree.length;i++){
var el:MyCircle = new MyCircle(Math.round(100 + ((Math.random()*180)-90)),(i * 30) +100,20,1,0x0000FF,0x0000FF,this)
el.draw();
objects[tree[i]["id"]] = el;
if (tree[i]["parent_id"] !== ""){
trace ("connect to X", objects[tree[i]["parent_id"]].x, objects[tree[i]["parent_id"]].y )
el.connect_to(objects[tree[i]["parent_id"]])
}
}
}
сам MyCircle

Код AS3:
package
{
import flash.display.Shape;
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
public class MyCircle extends Shape
{
private var place;
public function MyCircle(x:Number,y:Number,r:Number,lineThickness:Number,lineColor:uint,fillColor:uint,elem)
{
graphics.lineStyle(lineThickness,lineColor);
graphics.beginFill(fillColor,1);
graphics.drawCircle(x,y,r);
this.place = elem;
this.x = x;
this.y = y;
}
public function connect_to(element)
{
trace(this.x,this.y);
trace("newx",element.x," newY",element.y);
graphics.moveTo(this.x,this.y);
graphics.lineStyle(1);
graphics.lineTo(element.x,element.y);
//graphics.moveTo(element.x,element.y);
//graphics.lineStyle(1);
//graphics.lineTo(this.x+10,this.y+10);
}
public function draw()
{
place.addChild(this);
/*var a:TextField = new TextField();
a.text("x:"+ this.x + "y"+ this.y);
a.x = this.x
a.y = this.y
a.autoSize = TextFieldAutoSize.LEFT*/
}
public function remove()
{
place.removeChild(this);
}
}
}