Hi,
I have used a preloader class that loads an external “main” movie.
Whilst the main movie works fine alone I have issues when it is loaded through the preloader class.
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at roberts_fla::MainTimeline/roberts_fla::frame1()
I do not know how to correct the issue, my AS for the preloader class is:
import flash.events.ProgressEvent;
stage.scaleMode = "noScale";
stage.align = "tl";
import fl.transitions.Tween;
import fl.transitions.easing.*;
import com.greensock.*;
import com.greensock.easing.*;
var l:Loader = new Loader();
l.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loop);
l.contentLoaderInfo.addEventListener(Event.COMPLETE, done);
l.load(new URLRequest("roberts.swf"));
preloader_mc.x = stage.stageWidth / 2;
var preloader_y:Tween = new Tween(preloader_mc, "y", Elastic.easeOut, (stage.stageHeight/2)+150, stage.stageHeight/2, 3, true);
var preloader_alpha:Tween = new Tween(preloader_mc, "alpha", Regular.easeOut, 0, 1, 0.5, true);
stage.addEventListener(Event.RESIZE, resizeListenerloader);
function resizeListenerloader(Event) {
preloader_mc.x = stage.stageWidth / 2;
preloader_mc.y = stage.stageHeight / 2;
}
function loop(e:ProgressEvent):void {
var perc:Number = Math.floor( (e.bytesLoaded*100)/e.bytesTotal );
percent.text = Math.ceil(perc).toString();
if (preloader_mc is MovieClip) {
preloader_mc.gotoAndStop(perc);
}
}
function done(e:Event):void {
TweenLite.to(preloader_mc, 0.7, {y:(stage.stageHeight/2)-150, alpha: 0, ease:Strong.easeOut, onComplete: out});
}
function out(param1:Number=0, param2:Number=0):void {
removeChildAt(0);
removeChild(preloader_mc);
percent = null;
addChild(l);
stage.removeEventListener(Event.RESIZE, resizeListenerloader);
}
and frame 1 of the main is:
stage.scaleMode = "noScale";
stage.align = "tl";
stop();
scripthold_mc.x = stage.stageWidth / 2;
scripthold_mc.y = stage.stageHeight / 2;
stage.addEventListener(Event.RESIZE, resizeListenerscript);
//then in the resize handler:
function resizeListenerscript(Event)
{
scripthold_mc.x = stage.stageWidth / 2;
scripthold_mc.y = stage.stageHeight / 2;
}
scripthold_mc.enter_mc.addEventListener(MouseEvent.MOUSE_DOWN, entersite);
scripthold_mc.enter_mc.buttonMode = true;
function entersite(MouseEvent):void {
gotoAndPlay("mainstart","main")
}
Can anyone help me please?
Thanks
Phil