PDA

Просмотр полной версии : Доступ из подгружаемого клипа в его же _root


AlexCooper
13.02.2009, 23:02
Здравствуйте.
Возникла проблема с внешним прелоадером, а именно нужна альтернатива "_роот", так как по недавнему совету для работоспособности кода ( в подгружаемом клипе) "_роот" просто напросто удаляем и плеер автоматически ищет "_роот" своего клипа и, все работает - кроме 1 функции, где путь не указать не возможно. Вот она
antiLag=function(cX:Number,cY:Number,object:String,link:String)
{

delete _root[link][object].onEnterFrame;

if (_root[link][object].mX!=_root[link][object]._x)
_root[link][object].mX=(cX-_root[link][object]._x)/3;

if (_root[link][object].mY!=_root[link][object]._y)
_root[link][object].mY=(cY-_root[link][object]._y)/3;

_root[link][object].mStep=0;

if (Math.abs(_root[link][object].mX)>=0.5 || Math.abs(_root[link][object].mY)>=0.5)
{
if (link=='map')
{
_root[link][object].onEnterFrame=function()
{
this.mStep++;
if (this.mStep>2) delete this.onEnterFrame;

special_items['mess'+this._name]._x=
map[this._name]._x+=map[this._name].mX;

special_items['mess'+this._name]._y=
map[this._name]._y+=map[this._name].mY;

this.xx=special_items['mess'+this._name]._x;

if (this.xx!=undefined)
{
this.yy=special_items['mess'+this._name]._y;

if (this.xx>=400) this.xc=1; else this.xc=0;
if (this.yy>=200) this.yc=1; else this.yc=0;

if (this.xc==1)
{
special_items['mess'+this._name].vis.gotoAndStop(3);
special_items['mess'+this._name]._x-=161;
} else
{
special_items['mess'+this._name].vis.gotoAndStop(1);
}

if (this.yc==0)
{
special_items['mess'+this._name]._y+=100;
special_items['mess'+this._name].vis.gotoAndStop(special_items['mess'+this._name].vis._currentframe+1);
}
}

if (this.cur==16) this.cur=1; else
this.cur=map[this._name].persone.c2._currentframe+1;

map[this._name].persone.c2.gotoAndStop(this.cur);


}
}

if (link=='upMap')
{
_root[link][object].onEnterFrame=function()
{
this.mStep++;
if (this.mStep>2) delete this.onEnterFrame;

upMap[this._name]._x+=upMap[this._name].mX;
upMap[this._name]._y+=upMap[this._name].mY;
if (this._name=='celling') upMap[this._name]._rotation+=6;

}
}
}
}
Да, можно конечно же прописать путь _роот['клип_контейнер_в_прелоадере']['нужный_объект'] но это очень не удобно при разработке, так как тест придётся проводить постоянно с прелоадером и редактировать постоянно не хочется. Подскажите пожалуйста как можно доставать без проблем с использованием адресации.

Буду признателен за любую полезную информацию.

amexdesign
14.02.2009, 03:30
this._lockroot = true;
это в подгружаемом разве не устраивает?

scarbo
14.02.2009, 21:35
А зачем вообще _root использовать?Разве так сложно создать мувики-контейнеры и потом забыть про головную боль?