Хочу сделать веревку. Получилось что-то вроде змейки(на самом деле почерпнул немного отсюда
http://www.flasher.ru/forum/showthread.php?p=1046501). Хочу сделать один конец закрепленным, а другой можно было бы двигать. Прошу помощи т.к. сам я начинающий

Код AS3:
var Lines:Array= new Array();//Создаем массив который будет хранить в себе все линии
var dir:int = 0;//Направление начала веревки
var speed:int = 5;//Скорость веревки
var speedX:Number;//Скорость по x
var speedY:Number;//Скорость по y
const PI:Number = Math.PI;//Чтобы быстрее обращаться к PI
const enemyNum:int = 130;//И количество линий
var x1:Number=0; var y1:Number=0;
for (var i=0; i<enemyNum; i++) {
var enemy:MovieClip= new L();//Присваиваем переменной enemy мувиклип нашего линии из библиотеки
Lines.push(enemy);//push добавляет значение в первую пустую ячейку
x1=100
y1=y1 + 2
Lines[i].x = x1;//Размещаем линию по иксу
Lines[i].y = y1;//И по игрику
addChild(Lines[i]);//Добавляем его на сцену
}
Lines[0].addEventListener(MouseEvent.MOUSE_DOWN,fun);
Lines[0].addEventListener(MouseEvent.MOUSE_UP,funny);
function fun(e:Event):void {
Lines[0].startDrag(loop);
stage.addEventListener(MouseEvent.MOUSE_MOVE, loop);
stage.addEventListener(MouseEvent.MOUSE_MOVE,moveHandler);
}
function funny(f:Event):void {
Lines[0].stopDrag();
stage.removeEventListener(MouseEvent.MOUSE_MOVE,moveHandler);
stage.removeEventListener(MouseEvent.MOUSE_MOVE, loop);
}
function loop(e:Event):void {
speedX = Math.cos(Lines[0].rotation/180*PI) * speed;//Вычисляем на сколько передвигать начало по x
speedY = Math.sin(Lines[0].rotation/180*PI) * speed;//Вычисляем на сколько передвигать начало по y
Lines[0].x -=speedX;//Передвигаем начало по x
Lines[0].y -=speedY;//Передвигаем начало по y
//Пытаемся двигать остальные звенья за началом
for (var i:int = 1; i < enemyNum; i++) {
Lines[i].rotation = Math.atan2(Lines[i-1].y - Lines[i].y, Lines[i-1].x - Lines[i].x) * (180 / PI) + 180;//Вычисляем угол между текущим звеном и предыдущим, и поворачиваем текущее звено на этот угол
var v:Point = new Point(Lines[i-1].x - Lines[i].x, Lines[i-1].y - Lines[i].y);
var s:Number = v.length - 2;
speedX = Math.cos(Lines[i].rotation/180*PI) * s;//Вычисляем на сколько передвигать текущее звено по x
speedY = Math.sin(Lines[i].rotation/180*PI) * s;//Вычисляем на сколько передвигать текущее звено по y
Lines[i].x -= speedX;//Передвигаем текущее звено по x
Lines[i].y -= speedY;//Передвигаем текущее звено по y
}
}
function moveHandler(event:MouseEvent):void {
Lines[0].rotation = Math.atan2(event.stageY-Lines[0].y, event.stageX-Lines[0].x)/Math.PI*180;
}