Итак, вот загрузчик, который работает:
public var loaders:Array = new Array();
public var loaderClip:Array = new Array();
function loadPersonmenu() {
var person:Array = new Array();
var url:Array = new Array();
var cityUrl:Array = new Array();
for (var i = 0; i < personNumber; i++) {
loaders.push(new Loader());
loaders[i].contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorListener);
loaders[i].addEventListener(MouseEvent.MOUSE_OVER, lightUp);
person.push("person" + i + ".swf");
url.push(new URLRequest(person[i]));
loaders[i].load(url[i]);
loaders[i].x = ((i + 1) * margin) + (i * videoWidth);
loaders[i].alpha = .5;
container.addChild(loaders[i]);
}
}
Все фантастически, супер-пупер, классно. Но когда я добавляю несколько строк для обработки содержимого загрузчика как мувиклипа (чтобы я мог применить к нему функцию stop()
), компилятор превращается в ошибку. Все мои красивые внешние SWFs исчезают. Новые строки внизу с комментариями:
public var loaders:Array = new Array();
public var loaders:Array = new Array();
function loadPersonmenu() {
var person:Array = new Array();
var url:Array = new Array();
var cityUrl:Array = new Array();
for (var i = 0; i < personNumber; i++) {
loaders.push(new Loader());
loaders[i].contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorListener);
loaders[i].addEventListener(MouseEvent.MOUSE_OVER, lightUp);
person.push("person" + i + ".swf");
url.push(new URLRequest(person[i]));
loaders[i].load(url[i]);
loaders[i].x = ((i + 1) * margin) + (i * videoWidth);
loaders[i].alpha = .5;
container.addChild(loaders[i]);
loaderClip[i] = MovieClip(loaders[i].content); // Here is a new line
loaderClip[i].stop(); // Here is another new line
}
}
Это мои ошибки:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at Menu/loadPersonmenu()
at Menu/fileCompleteListener()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()
Странно то, что моя функция fileCompleteListener()
даже не ссылается ни на один из этих экземпляров Loader или SWF, поэтому я не включил его в свой код. Это не проблема в первом конде