PDA

Просмотр полной версии : как перерисовать линию, созданную lineTo-функцией?


tyapichu
29.11.2008, 00:41
извините за глупый вопрос, но что-то я застрял.

грубо говоря есть линия, один из концов которой я могу перемещать мышкой. есть у меня "кнопочка" на конце линии, при нажатии на которую начинается startDrag() ну и так далее. так же слушаю MouseMove ивент этой кнопки и пытаюсь перерисовать линию в соответствии с новыми координатами "кнопки".

при создании линии у меня рисуется отдельный объект по информации о двух "кнопках":


public class Line extends Sprite
{
public var li:Number;
public var p1:Point, p2:Point;
protected var gr:Sprite;

public function Line(id:Number, point1:Point, point2:Point)
{
super();

li = id;
name = id.toString();
p1 = point1;
p2 = point2;
x = p1.x;
y = p1.y;

gr = new Sprite();
this.addChild(gr);

gr.graphics.lineStyle(5, 0xff0000, 0.1);
gr.graphics.moveTo(0, 0);
gr.graphics.lineTo(p2.x-p1.x, p2.y-p1.y);
gr.graphics.lineStyle(2, 0x00ff00, 1);
gr.graphics.lineTo(0, 0);
}
}


соответственно пока "кнопка" перемещается я могу вызывать функцию перерисовки линии. что мне надо сделать с gr чтобы линия перерисовывалась?

Alex Lexcuk
29.11.2008, 04:39
перед рисованием очищать графику

gr.graphics.clear()
gr.graphics.lineStyle(5, 0xff0000, 0.1);
//...