Да вынес все переменные в конструктор.
Я боюсь что если покажу код полностью то мы меня убьете со словами: плохо написано , так не делают и т.д.

Попробую завтра еще по экспериментировать. Если не поможет буду выкладывать код )
Добавлено через 15 часов 2 минуты
так и не смог я победить ошибку
вот код всего класса

Код AS3:
package main {
import flash.net.URLRequest;
import main.cursor.MouseExample;
import main.win_popup.lib_comp.w_modal;
import caurina.Tweener;
import flash.display.Loader;
import fl.transitions.Tween;
import api.DataAccessor;
import flash.events.Event;
import api.api_vkontakt;
import flash.display.MovieClip;
/**
* @author AlexsWulf
* Основной класс игры
*/
public class game extends MovieClip {
public static const INIT : String = "start";
public static const COMPLET : String = "comp";
public static var prod_ar : product_array = new product_array();
public static var user_m : user_money;
public static var user_g : user_gold;
public static var f_var : flashvars;
public static var data_prov : DataAccessor;
public static var user_box : box;
public static var user_p : userPhoto;
private var _loader : Loader;
private var _shadow_win : w_modal;
public static var cursor : MouseExample;
public function game() {
startLoader();
showLoader(true);
addEventListener(game.INIT, init_listener);
addEventListener(game.COMPLET, comp_listener);
f_var = new flashvars(this);
data_prov = new DataAccessor(f_var.getViewer_id(), f_var.getUser_id());
data_prov.addEventListener(DataAccessor.INIT, function(e : Event) {
dispatchEvent(new Event(INIT));
});
}
public function init_listener(e : Event) : void {
user_m = new user_money();
addChild(user_m);
user_g = new user_gold();
addChild(user_g);
user_box = new box();
addChild(user_box);
cursor = new MouseExample();
addChild(cursor);
showLoader(false);
dispatchEvent(new Event(COMPLET));
}
public function comp_listener(e : Event) : void {
trace(e.target);
var url : String = "http://cs1205.vkontakte.ru/u14266980/c_4a75a9bb.jpg";
var _loap_photo : Loader = new Loader();
var reqest : URLRequest = new URLRequest(url);
_loap_photo.contentLoaderInfo.addEventListener(Event.COMPLETE, comp_listener);
_loap_photo.load(reqest);
}
// создаем и добавляем на сцену предзагрузчик
public function startLoader(): void {
_shadow_win = new w_modal();
_loader = new Loader();
_loader.visible = false;
_loader.alpha = 0;
_loader.x = Math.round(const_game.GAME_X / 2 - _loader.width / 2);
_loader.y = Math.round(const_game.GAME_Y / 2 - _loader.height / 2);
_shadow_win.visible = false;
_shadow_win.alpha = 0;
_shadow_win.height = 1000;
_shadow_win.width = 1000;
_loader.addChildAt(_shadow_win, 0);
addChild(_loader);
}
/**
* Показ анимации предзагрузчика
*
*/
public function showLoader(show : Boolean = true):void {
if (show) {
Tweener.addTween(_loader, {_autoAlpha:1, time:0.5});
Tweener.addTween(_shadow_win, {_autoAlpha:1, time:0.5});
} else if (!show) {
Tweener.addTween(_loader, {_autoAlpha:0, time:0.5});
Tweener.addTween(_shadow_win, {_autoAlpha:0, time:0.5});
}
}
}
}
и полный текст ошибки

Код:
[object game]
TypeError: Error #1010: A term is undefined and has no properties.
at main::game/comp_listener()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at main::game/init_listener()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at MethodInfo-617()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at api::DataAccessor/initStart()
at api::DataAccessor/onVarsProfiles()
at MethodInfo-124()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()
Добавлено через 35 часов 2 минуты
Все разобрался с этой проблемой.
Как и говорили искал не в том месте.
Проблема была в том что в библиотеке fla файла лежал мувик прилинковынный к Loader
Всем спасибо за помощь в решении проблемы.