Какой самый эффективный способ поддерживать линию между двумя точками в AS3? - PullRequest
0 голосов
/ 05 мая 2011

Я ищу наиболее эффективный способ сохранить соединение двух точек с линией в AS3. По сути, у меня есть целая куча кругов, которые движутся, и у меня есть свойство subNode, которое будет служить конечной точкой для линии.

На данный момент способ, которым я это делаю, чрезвычайно интенсивен:

if(_line != null) _line.parent.removeChild(_line);

_line = new Sprite();
_line.graphics.lineStyle(1, 0xE1164B);
_line.graphics.lineTo(subNode.x - x, subNode.y - y);

addChild(_line);

Может быть, просто redrawLine() или что-то, чего мне не хватает?

1 Ответ

2 голосов
/ 05 мая 2011

Вам не нужно каждый раз создавать экземпляр Sprite.Также в этом случае должно быть достаточно Shape.

if(_line == null) {
   _line = addChild(new Shape()) as Shape;
}

_line.graphics.clear();
_line.graphics.lineStyle(1, 0xE1164B);
_line.graphics.lineTo(subNode.x - x, subNode.y - y);

Также вам следует подумать о том, когда проводить линию.Может быть, только если подузел переместился.Но для правильного ответа на этот код недостаточно кода.

...