_root.LC это обычная нумбер переменная созданная для того чтоб слои накручивать,а "ab" это номер нажатой кнопки и и он используется для присвоения имени подменю и последующей передачи внутрь клипа в качестве переменной.
Вот собственно и код
имя кнопки сначало три символа имени потом номер кнопки вроде sub121

Код:
var ab = this._name.substring(3, this._name.length);
//номер полностью
var a = this._name.substring((this._name.length-1), this._name.length);
//последняя цифра
onPress = function () {
//Здесь я хотел сказать , если клип с таким именем есть то его ремув полюбому, но что то не выходит
if (_parent["lknp"+ab]<>undefined){
trace("remove")
_parent["lknp"+ab].unloadMovie();
_parent["lknp"+ab].removeMovieClip()
trace (_parent["lknp"+ab].getDepth())
}
//Здесь замута с подгрузкой текста если он есть
var TempAb = _parent.tempKnp._name.substring((_parent.tempKnp._name.length-2), _parent.tempKnp._name.length);
if (_root["txt"+ab]<>undefined) {
_root.attachMovie("Ontext", "Ontext", -5000);
_root.txtfild.text = _root["txt"+ab];
}
//Ну здесь собственно приклейка мувика с тем же именем но на новый слой
_parent.attachMovie("lknp0k", "lknp"+ab, -7000+_root.LC, {_x:50});
trace(_parent["lknp"+ab].getDepth()+" Depth1")
trace(-7000+_root.LC)
_root.LC++;
//дальше идет гемор с масками , чтоб меню не лазели где не надо и собственно удаление мувиков после того как они скроятся за горизонт (правда реализованно все не по уму а чтоб было)
if (ab*1>9) {
if(_parent["lknp"+ab]){
_parent.createEmptyMovieClip("MaskLine", -6888);}
if(_parent["lknp"+TempAb]){
_parent.createEmptyMovieClip("MaskLine2", -6888);}
sch = 0;
_parent.MaskLine.onEnterFrame = function() {
_parent["lknp"+ab].setMask(_parent.MaskLine);
with (_parent.MaskLine) {
lineStyle(1, 0, 100);
beginFill(0);
moveTo(0, _parent["knp"+ab]._y);
lineTo(200, _parent["knp"+ab]._y);
numbr = ab*1+1;
lineTo(200, _parent["knp"+numbr]._y+26);
lineTo(0, _parent["knp"+numbr]._y+26);
endFill();
}
if (sch>=20) {
delete _parent.MaskLine.onEnterFrame;
}
sch++;
};
}
/*------------------------------------------------------------------
Маска для уезда предыдущего подменю
-----------------------------------------------------------*/
_parent.MaskLine2.onEnterFrame = function() {
_parent["lknp"+TempAb].setMask(_parent.MaskLine2);
with (_parent.MaskLine2) {
lineStyle(1, 0, 100);
beginFill(0);
moveTo(0, _parent["knp"+TempAb]._y+28);
lineTo(200, _parent["knp"+TempAb]._y+28);
numbrOff = TempAb*1+1;
lineTo(200, _parent["knp"+numbrOff]._y+20);
lineTo(0, _parent["knp"+numbrOff]._y+20);
endFill();
}
if (sch>=20) {
_parent["lknp"+TempAb].removeMovieClip();
_parent.MaskLine2.removeMovieClip();
delete _parent.MaskLine2.onEnterFrame;
}
sch++;
};
if (ab>TempAb) {
_parent["lknp"+TempAb].tween("_y", a*29-29*_root["sub"+TempAb], 1);
} else {
_parent["lknp"+TempAb].tween("_y", a*29+29*_root["sub"+ab]-29*_root["sub"+TempAb]+58, 1);
}
//передаем номер нажатой кнопки в клип с подменю
_parent["lknp"+ab].nkn = ab;
this.enabled = false;
//Записываем для потомков что кнопа была недавно нажата
if (_parent.tempKnp<>this) {
//если пребидущий клик не на этой кнопе
//trace ("onPressQQQQQ");
_parent.tempKnp.gotoAndStop("out");
//то потушить старую
_parent.tempKnp.enabled = true;
//зделать её активной
_parent.tempKnp = this;
//и запомнить кто теперь горит
trace(_parent.tempKnp+" tempKnp");
}
};
onRollOver = function () {
gotoAndStop("in");
};
onRollOut = function () {
gotoAndStop("out");
};
Нет, насчет того что клипы с одинаковыми именами могут существовать на разных слоях я вкурсе, но вот как распределяется приоритет? я думал что кто на более высоком уровне тот и прав(к нему по имени и идет обращение), но есть еще вариант что знак "-" не воспринимается и тогда -7 больше чем -5. Но не в этом суть. Почему у меня предидущий клип не ремувится?