Показать сообщение отдельно
Старый 13.02.2009, 23:02
AlexCooper вне форума Посмотреть профиль Отправить личное сообщение для AlexCooper Найти все сообщения от AlexCooper
  № 1  
Ответить с цитированием
AlexCooper
 
Аватар для AlexCooper

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
Question Доступ из подгружаемого клипа в его же _root

Здравствуйте.
Возникла проблема с внешним прелоадером, а именно нужна альтернатива "_роот", так как по недавнему совету для работоспособности кода ( в подгружаемом клипе) "_роот" просто напросто удаляем и плеер автоматически ищет "_роот" своего клипа и, все работает - кроме 1 функции, где путь не указать не возможно. Вот она
Код AS1/AS2:
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;
 
				}
			}
		}
}
Да, можно конечно же прописать путь _роот['клип_контейнер_в_прелоадере']['нужный_объект'] но это очень не удобно при разработке, так как тест придётся проводить постоянно с прелоадером и редактировать постоянно не хочется. Подскажите пожалуйста как можно доставать без проблем с использованием адресации.

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


Последний раз редактировалось AlexCooper; 13.02.2009 в 23:23.