Зачем?

Код AS3:
import flash.display.MovieClip;
import flash.display.DisplayObject;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.ui.Mouse;
import fl.controls.DataGrid;
import fl.controls.Button;
var i,k:int;
var Kol_Dachikov=1;
var Zvz:DisplayObject;
var arr:Array = new Array();
var txt:String="125";
var DvMouse:int=0;
var NDatch:int=0;
var str1:String;
// Создаем датчики
function Sozd_Datcikov (){
for(i=0;i<Kol_Dachikov;i++)
{
var Zv:MovieClip = new zv;
Zv.name="ss"+i;
Zv.x=100+i*10;
Zv.y=150+i*10;
addChild(Zv);
arr.push(Zv);
//trace(Zv);
trace(arr[i]);
trace(Zv.name);
if(Zv.name==("ss"+i))
{
trace ("Name="+Zv.name);
}
}
}
Sozd_Datcikov();
stage.addEventListener(MouseEvent.MOUSE_DOWN, DvigStart);
stage.addEventListener(MouseEvent.MOUSE_UP, DvigStop);
stage.addEventListener(MouseEvent.MOUSE_MOVE, MoveMouse);
KolDatch.addEventListener(Event.CHANGE, Kol_Datchikov);
function Kol_Datchikov (e:Event):void{
while(arr.length)
{
removeChild(arr[0]);
arr.shift();
}
Kol_Dachikov=KolDatch.value;
Sozd_Datcikov();
//Kol_Dachikov=8;
}
function MoveMouse (e:MouseEvent){
if (DvMouse==1)
{
NDatch=int(str1);
for(i=0;i<5;i++){
k=0;;
}
}
}
function DvigStart(e:MouseEvent){
DvMouse=1;
txt=e.target.name.toString();
str1=txt.substr(0,2);
if((e.target.name!=null)&&(str1=="ss"))
{ e.target.startDrag();
txt=e.target.name.toString();
str1=txt.substr(2);}
}
function DvigStop (e:MouseEvent){
DvMouse=0;
txt=e.target.name.toString();
str1=txt.substr(0,2);
if(str1=="ss")
{e.target.stopDrag();}
}
P.S. Код - сплошная каша, столько лишних операций и переменных я ещё никогда не видел. Задача решается буквально в 10 строк.