Это то, что меня беспокоит с тех пор, как я начал работать с AS3 год назад.
Пример. Я делаю класс, который расширяет мувиклип и называю его «LoaderBar
», все, что это - текст, который говорит «Загрузка», а под ним - другой мувиклип, представляющий собой простой прямоугольник, который я называю «lBar
»
Когда я вызываю функцию для загрузки моего изображения, я добавляю Loader на сцену как таковую.
function imageLoader(URL:String):void
{
var loader:Loader = new Loader(new URLRequest(URL));
loader.contentLoaderInfo.addEventListner(ProgressEvent.PROGRESS, progressHandler);
var loadBar:Loader Bar = new LoaderBar();
addChild(loadBar);
}
function progressHandler(e:Event):void
{
var pcent:Number = e.getBytesLoaded / e.getBytesTotal;
// HERE IS WHERE I'D LIKE TO MAKE DIRECT REFERENCE TO MY LOADBAR;
loadBar.lBar.width = pcent*100;
}
По сути, я просто хочу указать lBar
в муви клипе loadBar как ширину процента * 100. (чтобы при загрузке клипа ширина полосы загрузки составляла 100 пикселей).
Моя проблема в этом. Когда я добавляю loadBar на сцену внутри функции, я не могу ссылаться на нее внутри другой функции, не взломав глобальную переменную вне моей функции, например ...
var loadBarClip:MovieClip;
и внутри функции загрузки, присваивающей loadBar
loadBarclip
как таковой
loadBarClip = loadBar.
Я чувствую, что это излишне. Кто-нибудь знает о любом случае доступа к моему loadBar
без создания ссылочной переменной?