Просмотр полной версии : Перемещение нарисованных линий.
Есть массив точек и массив линий, точки уже заданы на сцене, имена point_1, point_2 и т.д. Возможно ли как то сделать так, чтобы при перетаскивании на сцене точек линии следовали за ними. Вот код рисования линий.
public function stage_mouseUpHandler(event:MouseEvent):void
{
var circle:DisplayObject = event.target as DisplayObject;
var index:int = _points.indexOf(circle);//если индекс больше -1, то значит мы кликнули по точке
if ( (! _isDraw) && (circle is Point_1) )
{
_currentObjects = [];
_currentObjects.push(_points[index]);
stage.addEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMoveHandler);
}
if ( (_isDraw) && (circle is Point_2) && !(circle is Point_1) )
{
_currentObjects[1].graphics.clear();
_currentObjects[1].graphics.lineStyle(2, 0x86AA28);
_currentObjects[1].graphics.moveTo(_currentObjects[0].x, _currentObjects[0].y);
_currentObjects[1].graphics.lineTo(circle.x, circle.y);
_lines[_lines.length] = _currentObjects[1];
_currentObjects.length = 0;
_isDraw = false;
this.removeMouseMove();
}
if (index == -1 && _isDraw)
{
this.removeLine(_currentObjects[1]);
_currentObjects.length = 0;
_isDraw = false;
this.removeMouseMove();
}
}
public function removeMouseMove():void
{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMoveHandler);
}
public function stage_mouseMoveHandler(event:MouseEvent):void
{
if (_currentObjects.length > 1)
{
this.removeLine(_currentObjects[1]);
}
_isDraw = true;
var line:Sprite = new Sprite();
line.graphics.lineStyle(2, 0x86AA28);
line.graphics.moveTo(_currentObjects[0].x, _currentObjects[0].y);
line.graphics.lineTo(mouseX, mouseY);
line.mouseChildren = false;
line.mouseEnabled = false;
addChild(line);
_currentObjects[1] = line;
}
public function removeLine(line:Sprite):void
{
var index:int = this.getChildIndex(line);
if (index) removeChildAt(index);
}
}
}
Я так понимаю с помощью ENTER_FRAME сделать это не получится, т.к. имён у линий нету? Или я ошибаюсь?
должен быть класс точки, и класс линии, точка должна знать к каким линиям она относится( хранить массив линий)), линия должна хранить ссылки на две точки(начала и конца), у класса линии есть метод - update(), когда точка перемещается она вызывает у всех линий из своего массива метод - update(),а линии перерисовываются по ссылкам на 2 точки(начала и конца).
про класс линии можно по подробней? Желательно с кодом чтобы я разобрался в нём.
что-то типо этого
package {
import flash.geom.Point;
public class Line extends Shape {
//ссылки на точки начала и конца
private var _startPoint:CustomPoint;
private var _endPoint:CustomPoint;
public function Line(start:CustomPoint,end:CustomPoint){
_startPoint = start;
_endPoint = end;
update();
}
public function update() {
// перерисовка линии вызывается при каждом изменении координат
// точек начала или конца
graphics.clear();
graphics.lineStyle(1,0);
graphics.moveTo(_startPoint.x,_startPoint.y);
graphics.lineTo(_endPoint.x,_endPoint.y);
}
}
}
класс точки примерно такой
package {
import flash.display.Sprite;
import flash.geom.Point;
public class CustomPoint extends Sprite {
// массив линий, которые относятся к точке
private var _lines:Array = [];
public function CustomPoint(){
}
public function pushLine(line:Line) {
_lines.push(line);
}
public function redrawLines() {
var arrLen:uint = _lines.length;
for (var i:int = 0; i < arrLen; i++) {
_lines[i].update();
}
}
}
}
Добавлено через 8 минут
исправил, пардон, на коленке пишу)
спасибо) вроде разобрался, попробую в действии.
Добавлено через 3 часа 14 минут
Вроде делаю всё по инструкции, но файл не использует другие классы кроме главного, возможно надо что-то в настройках изменить не подскажете?
Akopalipsis
30.12.2013, 15:11
NixMist со вчерашнего дня у меня в голове, что то щёлкало, когда я думал об этой теме. И только сейчас понял, что у Вас не получится так, как посоветовали. Автор немного ошибся,
в таком виде код работать не будет. В классе линии, точки не обновляются.
Добавлено через 2 минуты
И ещё ошибка с наследованием точек от Shape, они не будут на мышь реагировать.
Вроде делаю всё по инструкции, но файл не использует другие классы кроме главного, возможно надо что-то в настройках изменить не подскажете?
поподробнее пожалуйста, какой файл? что не использует?
Akopalipsis, а как сделать чтобы они обновлялись?
Isfet, ну у меня есть основной файл Main.fla и он исполняет только основной класс Main.as, а остальные классы он не исполняет, все классы находятся в одной папке с fla и не понимаю почему они не работают.
ну нужно создать экземпляры этих классов
var startPoint:CustomPoint = new CustomPoint();
startPoint.x = 10;
startPoint.y = 20;
addChild(startPoint);
var endPoint:CustomPoint = new CustomPoint();
endPoint.x = 100;
endPoint.y = 200;
addChild(endPoint);
var line:Line = new Line(startPoint,endPoint);
addChildAt(line,0);
и скопируйте заного классы из 4 поста, я их немного допилил
Если у вас линий не очень много, то почему бы просто не перерисовать их всех, без создания лишних классов?
Akopalipsis
30.12.2013, 16:30
поподробнее пожалуйста, какой файл? что не использует?
Класс Line при инициализации получает поинты и сохраняет их в свойства класса.
Потом Вы вызываете метод update и он всегда рисует одну и туже линию, так как поинты не обновляются.
Создавать каждый раз классы линий по новой и удалять из массива прежние, ресурсоемко.
Если у вас линий не очень много, то почему бы просто не перерисовать их всех, без создания лишних классов?
Мне тоже кажется этот вариант лучшим.
Как то так. Если точек будет много то надо оптимизировать циклы или использовать классы.
package
{
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class Main extends MovieClip
{
private var _draggedPoint:MyPoint;//MyPoint это класс точки, указанный в библиотеке.
public function Main()
{
redrawLines();
addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
}
private function redrawLines():void
{
graphics.clear();
graphics.lineStyle(8, 0x000000, 0.4);
var numOfPoints:int = numChildren;
for (var i:int = 1; i <= numOfPoints; i++)
{
for (var j:int = 1; j <= numOfPoints; j++)
{
graphics.moveTo(this["point_" + i].x, this["point_" + i].y);
graphics.lineTo(this["point_" + j].x, this["point_" + j].y);
}
}
}
private function mouseDown(event:MouseEvent):void
{
if (event.target is MyPoint)
{
_draggedPoint = event.target as MyPoint
_draggedPoint.startDrag();
stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseUp);
}
}
private function mouseMove(event:MouseEvent):void
{
redrawLines();
event.updateAfterEvent();
}
private function mouseUp(event:MouseEvent):void
{
if (_draggedPoint)
{
_draggedPoint.stopDrag();
_draggedPoint = null;
stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMove);
stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUp);
}
}
}
}
PointLine.swf
Если у вас линий не очень много, то почему бы просто не перерисовать их всех, без создания лишних классов?
ТС не сказал что ему именно нужно, мы вот и гадаем) способ конечно самый простой, но подходит только при рисовке непрерывной линии, если там есть разрывы, придется уже что-то еще думать.
Добавлено через 9 минут
Создавать каждый раз классы линий по новой и удалять из массива прежние, ресурсоемко.
у меня тоже когда-то была такая болезнь, я думал что любое вычисление - очень ресурсоемко, и старался оптимизировать оптимизации всех оптимизаций, чтобы комп с моим приложением летал, но поверьте, это не то на что нужно заострять внимание) компу все равно , если конечно кодить без фанатизма. А притом что создание линии - разовая операция, то это абсолютно не ресурсоемко, и удаление ее - тоже абсолютно не ресурсоемко, представьте себе 3D стрелялку, и представьте сколько там операций вычисляется за доли секунды, а тут всего лишь на всего добавляется / удаляется линия. Это болезнь, ее надо лечить)
Потом Вы вызываете метод update и он всегда рисует одну и туже линию, так как поинты не обновляются.
все обновляется - это ссылки)
Akopalipsis
30.12.2013, 17:27
все обновляется - это ссылки)
Точно:)
Как то так. Если точек будет много то надо оптимизировать циклы или использовать классы.
package
{
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class Main extends MovieClip
{
private var _draggedPoint:MyPoint;//MyPoint это класс точки, указанный в библиотеке.
public function Main()
{
redrawLines();
addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
}
private function redrawLines():void
{
graphics.clear();
graphics.lineStyle(8, 0x000000, 0.4);
var numOfPoints:int = numChildren;
for (var i:int = 1; i <= numOfPoints; i++)
{
for (var j:int = 1; j <= numOfPoints; j++)
{
graphics.moveTo(this["point_" + i].x, this["point_" + i].y);
graphics.lineTo(this["point_" + j].x, this["point_" + j].y);
}
}
}
private function mouseDown(event:MouseEvent):void
{
if (event.target is MyPoint)
{
_draggedPoint = event.target as MyPoint
_draggedPoint.startDrag();
stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseUp);
}
}
private function mouseMove(event:MouseEvent):void
{
redrawLines();
event.updateAfterEvent();
}
private function mouseUp(event:MouseEvent):void
{
if (_draggedPoint)
{
_draggedPoint.stopDrag();
_draggedPoint = null;
stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMove);
stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUp);
}
}
}
}
PointLine.swf
Ок спасибо, а как быть если например точек два класса, например Point_1 и Point_2?
Akopalipsis
02.01.2014, 21:54
В прошлый раз я Вам осмелился посоветовать прочитать книжку, на которую ушло бы две недели.
Прошел уже месяц и Вы всё так же спрашиваете то, на что есть ответ в первой половине книге.
Ок спасибо, а как быть если например точек два класса, например Point_1 и Point_2?
Замените в коде MyPoint на MovieClip.
В прошлый раз я Вам осмелился посоветовать прочитать книжку, на которую ушло бы две недели.
Прошел уже месяц и Вы всё так же спрашиваете то, на что есть ответ в первой половине книге.
Я её читаю на данный момент, и возможно и вправду ответ там есть, но применяя его у меня ничего не получается.
TWETTI, ну я примерно так и пробовал, и попробовал вновь, но ничего не выходит. А в главном классе нужно что-то указывать?
Я её читаю на данный момент, и возможно и вправду ответ там есть, но применяя его у меня ничего не получается.
TWETTI, ну я примерно так и пробовал, и попробовал вновь, но ничего не выходит. А в главном классе нужно что-то указывать?
Так я и говорю, в главном классе замените все слова MyPoint на MovieClip.
Всё сделал как надо, извиняюсь за тупости, но снова столкнулся с проблемой, вылетает ошибка сталкиваюсь с ней впервые, что она может обозначать, раньше небыло.
ReferenceError: Error #1069: Не удалось найти свойство point_1 в Main_2; отсутствует значение по умолчанию.
at Main_2/redrawLines()
at Main_2()
Akopalipsis
03.01.2014, 13:47
Посмотрите сами - Ошибки компилятора (http://help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/compilerErrors.html).
Всё сделал как надо, извиняюсь за тупости, но снова столкнулся с проблемой, вылетает ошибка сталкиваюсь с ней впервые, что она может обозначать, раньше небыло.
ReferenceError: Error #1069: Не удалось найти свойство point_1 в Main_2; отсутствует значение по умолчанию.
at Main_2/redrawLines()
at Main_2()
У вас на сцене нет объекта с именем point_1.
Посмотрите сами - Ошибки компилятора (http://help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/compilerErrors.html).
смотрел и выход не нашёл.
У вас на сцене нет объекта с именем point_1.
Есть объект этот.
var point_1:Point_1 = new Point_1();
point_1.x = fig_1.x;
point_1.y = fig_1.y + 34;
addChild(point_1);
at Main_2/redrawLines()
at Main_2()
ругается на redrawLines() насколько я понял
Akopalipsis
03.01.2014, 16:56
смотрел и выход не нашёл.
По этой ссылке не говорят, как решить проблему, там лишь подсказывают, что не так.
И мне кажется, что ошибка может быть из-за не понимания Вами классов. Сколько у Вас экземпляров класса
Main, который сделал TWETTI ?
Я не создавал новый класс, я просто вписал функции и переменную в свой класс Main_2.
Покажите весь ваш код с fla файлом.
package
{
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.Point;
import flash.events.Event;
import flash.display.MovieClip;
public class Main_2 extends Sprite
{
public var _points:Array;//массив с точками
public var _lines:Array;//массив с линиями
public var _currentObjects:Array;//массив в котором находятся обьекты с которыми работаем в данный момент
public var _isDraw:Boolean;//флаг указывающий в каком состаянии ( рисуем, не рисуем )
private var _draggedPoint:MovieClip;
public function Main_2()
{
_points = [];//создаем массивы
_lines = [];
//var _draggedPoint:MovieClip;//MyPoint это класс точки, указанный в библиотеке.
var fig_1:Fig_1 = new Fig_1();
fig_1.x = 250;
fig_1.y = 60;
addChild(fig_1);
var fig_2:Fig_2 = new Fig_2();
fig_2.x = 250;
fig_2.y = 150;
addChild(fig_2);
var fig_3:Fig_3 = new Fig_3();
fig_3.x = 250;
fig_3.y = 250;
addChild(fig_3);
var fig_4:Fig_4 = new Fig_4();
fig_4.x = 250 - 143;
fig_4.y = 350;
addChild(fig_4);
var fig_5:Fig_5 = new Fig_5();
fig_5.x = 250 + 143;
fig_5.y = 350;
addChild(fig_5);
var fig_6:Fig_6 = new Fig_6();
fig_6.x = 250;
fig_6.y = 450;
addChild(fig_6);
var fig_7:Fig_7 = new Fig_7();
fig_7.x = 250;
fig_7.y = 560;
addChild(fig_7);
var point_1:Point_1 = new Point_1();
point_1.x = fig_1.x;
point_1.y = fig_1.y + 34;
addChild(point_1);
var point_2:Point_2 = new Point_2();
point_2.x = fig_2.x;
point_2.y = fig_2.y - 30;
addChild(point_2);
var point_3:Point_1 = new Point_1();
point_3.x = fig_2.x;
point_3.y = fig_2.y + 30;
addChild(point_3);
var point_4:Point_2 = new Point_2();
point_4.x = fig_3.x;
point_4.y = fig_3.y - 40;
addChild(point_4);
var point_5:Point_1 = new Point_1();
point_5.x = fig_3.x + 143;
point_5.y = fig_3.y + 40;
addChild(point_5);
var point_6:Point_1 = new Point_1();
point_6.x = fig_3.x - 143;
point_6.y = fig_3.y + 40;
addChild(point_6);
var point_7:Point_2 = new Point_2();
point_7.x = fig_4.x;
point_7.y = fig_4.y - 20;
addChild(point_7);
var point_8:Point_2 = new Point_2();
point_8.x = fig_5.x;
point_8.y = fig_5.y - 20;
addChild(point_8);
var point_9:Point_1 = new Point_1();
point_9.x = fig_4.x;
point_9.y = fig_4.y + 20;
addChild(point_9);
var point_10:Point_1 = new Point_1();
point_10.x = fig_5.x;
point_10.y = fig_5.y + 20;
addChild(point_10);
var point_11:Point_2 = new Point_2();
point_11.x = fig_6.x;
point_11.y = fig_6.y - 30;
addChild(point_11);
var point_12:Point_1 = new Point_1();
point_12.x = fig_6.x;
point_12.y = fig_6.y + 30;
addChild(point_12);
var point_13:Point_2 = new Point_2();
point_13.x = fig_7.x;
point_13.y = fig_7.y - 34;
addChild(point_13);
_points.push(point_1, point_2, point_3, point_4, point_5, point_6, point_7, point_8, point_9, point_10, point_11, point_12, point_13);//помещаем эти точки в массив
fig_2.addEventListener(MouseEvent.MOUSE_DOWN, ClickToDrag_1);
fig_2.addEventListener(MouseEvent.MOUSE_UP, ReleaseToDrop_1);
fig_3.addEventListener(MouseEvent.MOUSE_DOWN, ClickToDrag_2);
fig_3.addEventListener(MouseEvent.MOUSE_UP, ReleaseToDrop_2);
fig_4.addEventListener(MouseEvent.MOUSE_DOWN, ClickToDrag_3);
fig_4.addEventListener(MouseEvent.MOUSE_UP, ReleaseToDrop_3);
fig_5.addEventListener(MouseEvent.MOUSE_DOWN, ClickToDrag_4);
fig_5.addEventListener(MouseEvent.MOUSE_UP, ReleaseToDrop_4);
fig_6.addEventListener(MouseEvent.MOUSE_DOWN, ClickToDrag_5);
fig_6.addEventListener(MouseEvent.MOUSE_UP, ReleaseToDrop_5);
function ClickToDrag_1(event:MouseEvent):void
{
fig_2.startDrag();
addEventListener(Event.ENTER_FRAME, enterFrame_1);
}
function ReleaseToDrop_1(event:MouseEvent):void
{
fig_2.stopDrag();
removeEventListener(Event.ENTER_FRAME,enterFrame_1);
}
function enterFrame_1(e:Event):void
{
point_2.x = fig_2.x;
point_2.y = fig_2.y - 30;
point_3.x = fig_2.x;
point_3.y = fig_2.y + 30;
}
function ClickToDrag_2(event:MouseEvent):void
{
fig_3.startDrag();
addEventListener(Event.ENTER_FRAME, enterFrame_2);
}
function ReleaseToDrop_2(event:MouseEvent):void
{
fig_3.stopDrag();
removeEventListener(Event.ENTER_FRAME,enterFrame_2);
}
function enterFrame_2(e:Event):void
{
point_4.x = fig_3.x;
point_4.y = fig_3.y - 40;
point_5.x = fig_3.x + 143;
point_5.y = fig_3.y + 40;
point_6.x = fig_3.x - 143;
point_6.y = fig_3.y + 40;
}
function ClickToDrag_3(event:MouseEvent):void
{
fig_4.startDrag();
addEventListener(Event.ENTER_FRAME, enterFrame_3);
}
function ReleaseToDrop_3(event:MouseEvent):void
{
fig_4.stopDrag();
removeEventListener(Event.ENTER_FRAME,enterFrame_3);
}
function enterFrame_3(e:Event):void
{
point_7.x = fig_4.x;
point_7.y = fig_4.y - 20;
point_9.x = fig_4.x;
point_9.y = fig_4.y + 20;
}
function ClickToDrag_4(event:MouseEvent):void
{
fig_5.startDrag();
addEventListener(Event.ENTER_FRAME, enterFrame_4);
}
function ReleaseToDrop_4(event:MouseEvent):void
{
fig_5.stopDrag();
removeEventListener(Event.ENTER_FRAME,enterFrame_4);
}
function enterFrame_4(e:Event):void
{
point_8.x = fig_5.x;
point_8.y = fig_5.y - 20;
point_10.x = fig_5.x;
point_10.y = fig_5.y + 20;
}
function ClickToDrag_5(event:MouseEvent):void
{
fig_6.startDrag();
addEventListener(Event.ENTER_FRAME, enterFrame_5);
}
function ReleaseToDrop_5(event:MouseEvent):void
{
fig_6.stopDrag();
removeEventListener(Event.ENTER_FRAME,enterFrame_5);
}
function enterFrame_5(e:Event):void
{
point_11.x = fig_6.x;
point_11.y = fig_6.y - 30;
point_12.x = fig_6.x;
point_12.y = fig_6.y + 30;
}
redrawLines();
addEventListener(MouseEvent.MOUSE_DOWN, mouse_Down);
stage.addEventListener(MouseEvent.MOUSE_UP, stage_mouseUpHandler);
}
public function stage_mouseUpHandler(event:MouseEvent):void
{
var circle:DisplayObject = event.target as DisplayObject;
var index:int = _points.indexOf(circle);//если индекс больше -1, то значит мы кликнули по точке
if ( (! _isDraw) && (circle is Point_1) )
{
_currentObjects = [];
_currentObjects.push(_points[index]);
stage.addEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMoveHandler);
}
if ( (_isDraw) && (circle is Point_2) && !(circle is Point_1) )
{
_currentObjects[1].graphics.clear();
_currentObjects[1].graphics.lineStyle(2, 0x86AA28);
_currentObjects[1].graphics.moveTo(_currentObjects[0].x, _currentObjects[0].y);
_currentObjects[1].graphics.lineTo(circle.x, circle.y);
_lines[_lines.length] = _currentObjects[1];
_currentObjects.length = 0;
_isDraw = false;
this.removeMouseMove();
}
if (index == -1 && _isDraw)
{
this.removeLine(_currentObjects[1]);
_currentObjects.length = 0;
_isDraw = false;
this.removeMouseMove();
}
}
public function removeMouseMove():void
{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMoveHandler);
}
public function stage_mouseMoveHandler(event:MouseEvent):void
{
if (_currentObjects.length > 1)
{
this.removeLine(_currentObjects[1]);
}
_isDraw = true;
var line:Sprite = new Sprite();
line.graphics.lineStyle(2, 0x86AA28);
line.graphics.moveTo(_currentObjects[0].x, _currentObjects[0].y);
line.graphics.lineTo(mouseX, mouseY);
line.mouseChildren = false;
line.mouseEnabled = false;
addChild(line);
_currentObjects[1] = line;
}
public function removeLine(line:Sprite):void
{
var index:int = this.getChildIndex(line);
if (index) removeChildAt(index);
}
private function redrawLines():void
{
graphics.clear();
graphics.lineStyle(8, 0x000000, 0.4);
var numOfPoints:int = numChildren;
for (var i:int = 1; i <= numOfPoints; i++)
{
for (var j:int = 1; j <= numOfPoints; j++)
{
graphics.moveTo(this["point_" + i].x, this["point_" + i].y);
graphics.lineTo(this["point_" + j].x, this["point_" + j].y);
}
}
}
public function mouse_Down(event:MouseEvent):void
{
if (event.target is MovieClip)
{
_draggedPoint = event.target as MovieClip
_draggedPoint.startDrag();
stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseUp);
}
}
public function mouseMove(event:MouseEvent):void
{
redrawLines();
event.updateAfterEvent();
}
public function mouseUp(event:MouseEvent):void
{
if (_draggedPoint)
{
_draggedPoint.stopDrag();
_draggedPoint = null;
stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMove);
stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUp);
}
}
}
}
Класс Main_2 - главный.
fla не знаю как цепануть, но там созданы экземпляры Point_1 и Point_2, и различные fig.
Переменные point_1, point_2, ... объвленные в конструкторе Main_2 не будут видны в других методах. Но вы их добавляете в массив _points. Поэтому вам надо в методе redrawLines пройтись по всем элементам массива _points и нарисовать линии. В моем коде, я прохожусь по всем мувиклипам находящимся на сцене во Flash редакторе.
Понятно. Получается выйдет обширный код, если я ничего не путаю, придётся пройти по каждому элементу массива в отдельности?
Вот так:
var numOfPoints:int = _points.length;
for (var i:int = 0; i < numOfPoints; i++)
{
for (var j:int = 0; j < numOfPoints; j++)
{
graphics.moveTo(_points[i].x, _points[i].y);
graphics.lineTo(_points[j].x, _points[j].y);
}
}
Так ок, а как сделать чтобы нарисованные мною линии также перерисовывались?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.