Всем доброго дня.
Есть класс для загрузки изображений и компоновки их в соотвествующие спрайты для дальнейшего использования. При запуске из flashDevelop да и просто при помощи плеера, все ок, картинки подгружаются.
При открытии в браузере пишет ошибку -
TypeError: Error #2007: Parameter child must be non-null.
at flash.display:

isplayObjectContainer/addChild()
at Function/<anonymous>()[C:\wamp\www\chess\DataLoader.as:74]
Выкладываю код класса, не обессудьте что кода не мало, просто не знаю как еще лучше объяснить суть проблемы.

Код AS3:
package
{
import flash.display.Bitmap;
import flash.display.Loader;
import flash.events.Event;
import flash.filters.BlurFilter;
import flash.media.Sound;
import flash.net.URLRequest;
/**
* ...
* @author Svetlov
*/
public class DataLoader
{
public function DataLoader(gameBody:Function) {
// Loading board
var addBoard:Function = function(e:Event):void {
GVC.board = ld.content as Bitmap;
}
var ld:Loader;
ld = new Loader();
ld.contentLoaderInfo.addEventListener(Event.COMPLETE, addBoard);
ld.load(new URLRequest('media/images/chessgame/chessboard.png'));
// Loading figures
var loadWhites:Function = function():void {
gameBody.call();
}
var loadBlacks:Function = function():void {
loadFigures('white', loadWhites);
}
loadFigures('black', loadBlacks);
// Loading sounds
loadSounds();
}
/**
* Loading figures images from disk
* @param color - color of the figures
* @param cb - callback function
*/
public function loadFigures(color:String, cb:Function):void {
var i:int;
var f_names:Array;
if(color == 'white'){
f_names = new Array('rook', 'knight', 'bishop', 'king', 'queen', 'bishop', 'knight', 'rook');
}else {
f_names = new Array('rook', 'knight', 'bishop', 'queen', 'king', 'bishop', 'knight', 'rook');
}
var bitmapImages:Array = new Array();
for (i = 0; i < 8; i++) {
f_names.push('pawn');
}
var figures:Array = new Array();
for (i = 0; i < f_names.length; i++) {
figures[i] = new Figure();
figures[i].name = f_names[i];
figures[i].this_color = color;
}
var ldrs:Array = new Array();
for (i = 0; i < f_names.length; i++) {
ldrs.push(new Loader);
}
var calb:Function = function(e:Event):void {
bitmapImages.push(ldrs[bitmapImages.length].content as Bitmap);
figures[bitmapImages.length-1].addChild( bitmapImages[bitmapImages.length - 1]);
if (bitmapImages.length == f_names.length) {
if (color == 'white') {
GVC.bitmapWhites = bitmapImages;
GVC.whites = figures;
}
if (color == 'black') {
GVC.bitmapBlacks = bitmapImages;
GVC.blacks = figures;
}
cb.call();
}
}
for (i = 0; i < f_names.length; i++) {
ldrs[i].contentLoaderInfo.addEventListener(Event.COMPLETE, calb);
trace('media/images/chessgame/' + color + '/' + f_names[i] + '.png');
ldrs[i].load(new URLRequest('media/images/chessgame/'+color+'/'+f_names[i]+'.png'));
}
}
public function loadSounds():void {
GVC.right_sound = new Sound(new URLRequest('media/sounds/chessgame/knock.mp3'));
GVC.wrong_sound = new Sound(new URLRequest('media/sounds/chessgame/wrong.mp3'));
}
}
}
Пробовал трейсить через flashFireBug, получается что грузятся черные до короля, на втором слоне (bishop) вываливается указанная выше ошибка. Помогите разобраться пожалуйста. Даже предположить не могу в чем может быть проблема.
UPD:
Забыл сказать что открываю с тестового сервера по url. Если открыть в браузере по абсолютному пути все ок.