My Preloader movie is constructed with external Preloader.as class as follows :
package com {
import flash.display.MovieClip;
import flash.events.*;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.net.URLRequest;
public class Preloader extends MovieClip {
private var myMovie:MovieClip;
private var loader:Loader;
private var preloaderBar:MovieClip = new progBar();
private static const Path:String = "main.swf";
public function Preloader() {
//addChild(loader);
loader = new Loader();
loader.load(new URLRequest(Path));
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler, false, 0, true);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler, false, 0, true);
addChild(preloaderBar);
preloaderBar.x = 100;
preloaderBar.y = 100;
preloaderBar.progressFill.scaleX = 0;
}
private function progressHandler(e:ProgressEvent):void {
var percent:Number = Math.ceil((e.bytesLoaded / e.bytesTotal )*100 );
//trace(percent + " % loaded");
preloaderBar.progressFill.scaleX = percent;
preloaderBar.progress_text.x = percent;
preloaderBar.progress_text.text = (percent + "%");
}
private function onCompleteHandler(e:Event):void {
removeChild(preloaderBar);
//percent = null;
myMovie = MovieClip(loader.content);
stage.addChild (myMovie);
//myMovie.play();
//nextFrame();
loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS,progressHandler);
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE,onCompleteHandler);
loader = null;
}
}
}
And my Main.swf is constructed with external class as follows :
package com {
import caurina.transitions.Tweener;
import flash.display.MovieClip;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.net.URLRequest;
import flash.display.Sprite;
import flash.display.Stage;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.*;
//Call the layout color background
import flash.events.MouseEvent;
import bndsolutions.layout.*;
import flash.geom.ColorTransform;
import flash.display.BlendMode;
import flash.filters.DropShadowFilter;
public class Main extends MovieClip {
//background
private var _bg:Background;
public function Main() {
init();
}
//private function init():void {
//trace ("WebSite Initiated.Hooooray!!!!")
//}
private function init():void {
initStage();
//add background
addBackground();
onStageResize();
}
//The layout setting begin here
public function initStage():void {
stage.frameRate = 31;
stage.showDefaultContextMenu = false;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.addEventListener(Event.RESIZE,onStageResize);
}
//private function onStageResize(e:Event):void
private function onStageResize(...eventArray:Array):void {
_bg.resize(stage.stageWidth, stage.stageHeight);
}
//add background
private function addBackground():void {
_bg = new Background();
stage.addChild(_bg);
}
}
}
Problem : Every time I run Preloader.swf I got this error message :
Error #1009: Cannot access a property or method of a null object reference
Can someone help please?