Добрый день дамы и господа. Помогите пожалуйста разрешить мне маленькую проблемку. Я в АС3 новичёк, поэтому возможна моя беда вам покажется смешной, однако я уже отсчялся совсем, и пришел к вам за помощью. Значит так:
Флешка, представляет собой следующее:
В рут из библиотеки добавляется клим Welcom, в котором создается CheckBox и Button. По нажатию на кнопку, положение CheckBox.selected записывается в SharedObject, клип удаляется и добавляется другой. При повторном запуске, если чек бокс был выставлен, то сразу вызывается метод, который происходил по нажатию кнопки, после записи в Shared object, и выполнение метода прерывается. Так вот если чек бокс небыл выставлен, то все работает отлично, но если был, то выскакивает ошибка:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
В методе skipWelcome(), parent ровняется null, однако this как и нужно = welcome. В чем проблема расскажите пожалуйста.
Собственно код, главный её класс:

Код AS3:
package com.flashgangsta {
import flash.display.MovieClip;
import flash.display.Sprite;
public class Main extends Sprite {
private var welcome:MovieClip;
public function Main() {
var welcome:MovieClip = new Welcome();
addChild(welcome);
}
}
}
Класс Welcome:

Код AS3:
package com.flashgangsta {
import flash.display.MovieClip;
import fl.controls.Button;
import fl.controls.CheckBox;
import flash.net.SharedObject;
import flash.events.Event;
import flash.events.MouseEvent;
public class Welcome extends MovieClip {
private var skip:Button = new Button();
private var dontShowAgain:CheckBox = new CheckBox();
private var sharedObject:SharedObject = SharedObject.getLocal("skipWelcom");
public function Welcome() {
if(sharedObject.data.dontShowAgain) {
skipWelcome(); // Вот тут возникает ошибка
return;
}
dontShowAgain.label = "Не показывать в следующий раз";
dontShowAgain.width = 202;
dontShowAgain.selected = false;
dontShowAgain.x = 300;
dontShowAgain.y = 505;
dontShowAgain.useHandCursor = true;
addChild(dontShowAgain);
skip.label = "Пропустить заставку"
skip.width = 190;
skip.x = 305;
skip.y = 533;
skip.useHandCursor = true;
addChild(skip);
skip.addEventListener(MouseEvent.CLICK, onSkipClicked);
this.addEventListener(Event.ENTER_FRAME, checkMoviePlayingProgress);
}
private function onSkipClicked(event:Object):void {
recordSharedObject();
skip.removeEventListener(MouseEvent.CLICK, onSkipClicked);
skipWelcome();
}
private function recordSharedObject():void {
sharedObject.data.dontShowAgain = dontShowAgain.selected;
sharedObject.flush();
}
private function skipWelcome():void {
parent.addChild(new EastingStartMenu()); //parent = null
parent.removeChild(this); //parent = null
}
}
}
Прилогаю исходник, там кода немного больше, для простоты я удалил ненужное тут.