Hi guys,
I’m having trouble getting an external SWF to load from my main.as file.
I start off in my main.swf and want to load mainTwenties.swf when a user clicks on the 1923 button. Can anyone tell me why this wont work please? Also I get this error message:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at MainTwenties$iinit()
…no idea what it means. Anyway here is my code (below) and if you’d like to look at the site in progress to see what I mean then please go to www.joegardner.co.uk/flash/main.html and if you’d like to download any of the files then just change the main.html to main.as or mainTwenties.as.
Also if anyone has any good ideas on a way for me to reduce the sheer ammount of code I’d appreciate it.
Thanks in advance,
Joe.
package {
// import all the necessary packages
import flash.display.MovieClip;
import flash.display.Stage;
import flash.display.*;
import flash.events.*;
import flash.events.EventDispatcher;
import flash.utils.Timer;
import fl.transitions.*;
import fl.transitions.easing.*;
import flash.media.*;
import flash.net.*;
import flash.net.URLRequest;
// begining of Main class
public class Main extends MovieClip
{
// define global variables
public var xMid:Number = 640;
public var yMid:Number = 512;
public var xLeft:Number = 0;
public var xRight:Number = 1280;
public var yTop:Number = 0;
public var yBottom:Number = 1024;
public var sixtiesBack:SixtiesBack = new SixtiesBack();
public var cigs:Cigs = new Cigs();
public var portfolio:Portfolio = new Portfolio();
public var recentWork:RecentWork = new RecentWork();
public var currentWork:CurrentWork = new CurrentWork();
public var pastWork:PastWork = new PastWork();
public var personalNav:PersonalNav = new PersonalNav();
public var aboutLink:AboutLink = new AboutLink();
public var contactLink:ContactLink = new ContactLink();
public var siteLink:SiteLink = new SiteLink();
public var portfolioNav:PortfolioNav = new PortfolioNav();
public var artwork:Artwork = new Artwork();
public var resumeBadge:ResumeBadge = new ResumeBadge();
public var breadBadge:BreadBadge = new BreadBadge();
public var newspaper:Newspaper = new Newspaper();
public var lighting:Lighting = new Lighting();
public var myName:MyName = new MyName();
public var link1923:Link1923 = new Link1923();
public var link1952:Link1952 = new Link1952();
public var link1988:Link1988 = new Link1988();
public var line:Line = new Line();
public var pencil:Pencil = new Pencil();
public var musicOff:MusicOff = new MusicOff();
public var musicOn:MusicOn = new MusicOn();
public var aboutMe:AboutMe = new AboutMe();
public var aboutSite:AboutSite = new AboutSite();
public var contactForm:ContactForm = new ContactForm();
public var closeBtn:CloseBtn = new CloseBtn();
public var timer:Timer = new Timer(10, 0);
public var percent:Percent = new Percent();
/*public var vid:FLVPlayback;*/
// define music variables
public var snd:Sound = new Sound();
public var channel:SoundChannel;
// begin contructor function
public function Main()
{
// add an event listener to start enterSixties as soon as the frame is entered
timer.addEventListener(TimerEvent.TIMER, enterSixties);
timer.start();
// define the frame rate of the movie
stage.frameRate = 40;
// position the background
sixtiesBack.x = xMid;
sixtiesBack.y = yMid;
cigs.alpha = 1;
addChild(sixtiesBack);
// position the portfolio
portfolio.x = xLeft;
portfolio.y = 500;
portfolio.rotation += -2;
portfolio.alpha = 0;
addChild(portfolio);
// position the recentWork
recentWork.x = 0;
recentWork.alpha = 1;
portfolioNav.addChild(recentWork);
// position the currentWork
currentWork.x = 100;
currentWork.alpha = 1;
portfolioNav.addChild(currentWork);
// position the pastWork
pastWork.x = 200;
pastWork.alpha = 1;
portfolioNav.addChild(pastWork);
portfolioNav.x = 350;
portfolioNav.y =250;
portfolioNav.rotation += -2;
portfolioNav.alpha = 1;
addChild(portfolioNav);
aboutMe.x = 450;
aboutMe.y =295;
aboutMe.alpha = 0;
aboutMe.rotation += -2;
addChild(aboutMe);
aboutSite.x = 450;
aboutSite.y =287;
aboutSite.alpha = 0;
aboutSite.rotation += -2;
addChild(aboutSite);
contactForm.x = 350;
contactForm.y =328;
contactForm.alpha = 0;
contactForm.rotation += -2;
addChild(contactForm);
closeBtn.x = 560;
closeBtn.y =243;
closeBtn.alpha = 0;
closeBtn.rotation += -2;
addChild(closeBtn);
aboutLink.x = 0;
aboutLink.y = 0;
aboutLink.alpha = 1;
personalNav.addChild(aboutLink);
contactLink.x = 85;
contactLink.y = 0;
contactLink.alpha = 1;
personalNav.addChild(contactLink);
siteLink.x = 185;
siteLink.y = 0;
siteLink.alpha = 1;
personalNav.addChild(siteLink);
// position the artwork
artwork.x = xLeft;
artwork.y = 430;
artwork.rotation += 2;
artwork.alpha = 0;
addChild(artwork);
// position the pencil
pencil.x = xRight;
pencil.y = 320;
pencil.alpha = 0;
addChild(pencil);
// position the resumeBadge
resumeBadge.x = xLeft;
resumeBadge.y = 600;
resumeBadge.alpha = 0;
addChild(resumeBadge);
// position the breadBadge
breadBadge.x = xMid;
breadBadge.y = yTop;
breadBadge.alpha = 0;
addChild(breadBadge);
// position the newspaper
newspaper.x = 670;
newspaper.y = yTop;
newspaper.alpha = 0;
addChild(newspaper);
// position the myName
myName.x = 900;
myName.y = 797;
myName.alpha = 0;
addChild(myName);
// position the link1923
link1923.x = 300;
link1923.y = 800;
link1923.alpha = 0;
addChild(link1923);
// position the link1952
link1952.x = 370;
link1952.y = 800;
link1952.alpha = 0;
addChild(link1952);
// position the link1988
link1988.x = 440;
link1988.y = 800;
link1988.alpha = 0;
addChild(link1988);
// position the line
line.x = 657;
line.y = 820;
line.alpha = 0;
addChild(line);
// position the cigs
cigs.y = yBottom;
cigs.x = xMid;
cigs.alpha = 1;
addChild(cigs);
/*vid = new FLVPlayback();
vid.source = "cigs.flv";
addChild(vid);*/
personalNav.x = 800;
personalNav.y =760;
personalNav.alpha = 0;
addChild(personalNav);
// position the musicOff
musicOff.y =200;
musicOff.x = 295;
musicOff.rotation += -2;
musicOff.alpha = 0;
addChild(musicOff);
// position the musicOn
musicOn.y = 197;
musicOn.x = 366;
musicOn.rotation += -2;
musicOn.alpha = 0;
addChild(musicOn);
// position the lighting
lighting.x = xMid;
lighting.y = yMid;
lighting.mouseEnabled = false;
lighting.alpha = 1;
addChild(lighting);
/*portfolio.mask = lighting;
portfolio.cacheAsBitmap = true;
lighting.cacheAsBitmap = true;*/
// begining of the sixtiesMusic function
function sixtiesMusic()
{
snd.load(new URLRequest('fortunate son.mp3'));
snd.addEventListener(IOErrorEvent.IO_ERROR,onIOError, false, 0, true);
function onIOError(evt:IOErrorEvent):void
{
trace("An Error Occurred When Loading The Sound:", evt.text);
}
snd.addEventListener(Event.COMPLETE, onLoadComplete, false, 0, true);
function onLoadComplete(evt:Event):void
{
var localSnd:Sound = evt.target as Sound;
channel = localSnd.play();
var trans:SoundTransform = new SoundTransform();
trans.volume = .2;
channel.soundTransform = trans;
}
}
// end of the sixtiesMusic function
/* begining of the sixtiesMusic function
function sixtiesMusic()
{
snd.load(new URLRequest('fortunate son.mp3'));
snd.addEventListener(IOErrorEvent.IO_ERROR,onIOError, false, 0, true);
function onIOError(evt:IOErrorEvent):void
{
trace("An Error Occurred When Loading The Sound:", evt.text);
}
snd.addEventListener(Event.COMPLETE, onLoadComplete, false, 0, true);
function onLoadComplete(evt:Event):void
{
var localSnd:Sound = evt.target as Sound;
channel = localSnd.play();
var trans:SoundTransform = new SoundTransform();
trans.volume = .2;
channel.soundTransform = trans;
}
}
// end of the sixtiesMusic function*/
sixtiesMusic();
// begining of the enterSixties function
function enterSixties(evt:TimerEvent):void
{
stop();
if (cigs.y == yBottom) {
var cigsMoveTween:Tween = new Tween(cigs, "y", Regular.easeOut, yBottom, 800, 2, true);
var cigsAlphaTween:Tween = new Tween(cigs, "alpha", Regular.easeOut, 0, 1, 3, true);
var portfolioMoveTween:Tween = new Tween(portfolio, "x", Regular.easeOut, xLeft, 450, 2, true);
var portfolioAlphaTween:Tween = new Tween(portfolio, "alpha", Regular.easeOut, 0, 1, 3, true);
var artworkMoveTween:Tween = new Tween(artwork, "x", Regular.easeOut, xRight, 850, 2, true);
var artworkAlphaTween:Tween = new Tween(artwork, "alpha", Regular.easeOut, 0, 1, 3, true);
var resumeBadgeMoveTween:Tween = new Tween(resumeBadge, "x", Regular.easeOut, xLeft, 260, 2, true);
var resumeBadgeAlphaTween:Tween = new Tween(resumeBadge, "alpha", Regular.easeOut, 0, 1, 3, true);
var breadBadgeMoveTween:Tween = new Tween(breadBadge, "y", Regular.easeOut, yTop, 250, 2, true);
var breadBadgeAlphaTween:Tween = new Tween(breadBadge, "alpha", Regular.easeOut, 0, 1, 3, true);
var newspaperMoveTween:Tween = new Tween(newspaper, "y", Regular.easeOut, yBottom, 915, 2, true);
var newspaperAlphaTween:Tween = new Tween(newspaper, "alpha", Regular.easeOut, 0, 1, 3, true);
var myNameAlphaTween:Tween = new Tween(myName, "alpha", Regular.easeOut, 0, 0.5, 3, true);
var link1923AlphaTween:Tween = new Tween(link1923, "alpha", Regular.easeOut, 0, 0.3, 3, true);
var link1952AlphaTween:Tween = new Tween(link1952, "alpha", Regular.easeOut, 0, 0.3, 3, true);
var link1988AlphaTween:Tween = new Tween(link1988, "alpha", Regular.easeOut, 0, 0.3, 3, true);
var lineAlphaTween:Tween = new Tween(line, "alpha", Regular.easeOut, 0, 0.3, 3, true);
var pencilMoveTween:Tween = new Tween(pencil, "x", Regular.easeOut, xRight, 950, 2, true);
var pencilAlphaTween:Tween = new Tween(pencil, "alpha", Regular.easeOut, 0, 1, 3, true);
var musicOffAlphaTween:Tween = new Tween(musicOff, "alpha", Regular.easeOut, 0, 1, 5, true);
var musicOnAlphaTween:Tween = new Tween(musicOn, "alpha", Regular.easeOut, 0, 1, 5, true);
var portfolioNavMoveTween:Tween = new Tween(portfolioNav, "x", Regular.easeOut, xLeft, 345, 2, true);
var portfolioNavAlphaTween:Tween = new Tween(personalNav, "alpha", Regular.easeOut, 0, 1, 3, true);
}
}
link1923.addEventListener(MouseEvent.MOUSE_OVER, link1923Over);
link1923.addEventListener(MouseEvent.MOUSE_OUT, link1923Out);
link1923.addEventListener(MouseEvent.MOUSE_DOWN, link1923Down);
function link1923Over(evt:MouseEvent):void
{
if (link1923.alpha < 1)
{
//var link1923MoveTweenOver:Tween = new Tween(link1923, "y", Regular.easeOut, 800, 795, 0.5, true);
link1923.alpha = 1;
}
}
function link1923Out(evt:MouseEvent):void
{
if (link1923.alpha > 0)
{
//var link1923MoveTweenOut:Tween = new Tween(link1923, "y", Regular.easeOut, 795, 800, 0.5, true);
link1923.alpha = 0.3;
}
}
function link1923Down(evt:MouseEvent):void
{
exitSixties();
}
link1952.addEventListener(MouseEvent.MOUSE_OVER, link1952Over);
link1952.addEventListener(MouseEvent.MOUSE_OUT, link1952Out);
function link1952Over(evt:MouseEvent):void
{
if (link1952.alpha < 1)
{
//var link1952MoveTweenOver:Tween = new Tween(link1952, "y", Elastic.easeOut, 800, 795, 0.5, true);
link1952.alpha = 1;
}
}
function link1952Out(evt:MouseEvent):void
{
if (link1952.alpha > 0)
{
//var link1952MoveTweenOut:Tween = new Tween(link1952, "y", Elastic.easeOut, 795, 800, 0.5, true);
link1952.alpha = 0.3;
}
}
link1988.addEventListener(MouseEvent.MOUSE_OVER, link1988Over);
link1988.addEventListener(MouseEvent.MOUSE_OUT, link1988Out);
function link1988Over(evt:MouseEvent):void
{
if (link1988.alpha < 1)
{
//var link1988MoveTweenOver:Tween = new Tween(link1988, "y", Elastic.easeOut, 800, 795, 0.5, true);
link1988.alpha = 1;
}
}
function link1988Out(evt:MouseEvent):void
{
if (link1988.alpha > 0)
{
//var link1988MoveTweenOut:Tween = new Tween(link1988, "y", Elastic.easeOut, 795, 800, 0.5, true);
link1988.alpha = 0.3;
}
}
musicOff.addEventListener(MouseEvent.MOUSE_OVER, musicOffOver);
musicOff.addEventListener(MouseEvent.MOUSE_OUT, musicOffOut);
musicOff.addEventListener(MouseEvent.MOUSE_DOWN, musicOffDown);
function musicOffOver(evt:MouseEvent):void
{
if (musicOff.alpha > 0.3)
{
musicOff.alpha = 0.3;
}
}
function musicOffOut(evt:MouseEvent):void
{
if (musicOff.alpha < 1)
{
musicOff.alpha = 1;
}
}
function musicOffDown(evt:MouseEvent):void
{
var pausePos:Number = channel.position;
channel.stop();
}
musicOn.addEventListener(MouseEvent.MOUSE_OVER, musicOnOver);
musicOn.addEventListener(MouseEvent.MOUSE_OUT, musicOnOut);
//musicOn.addEventListener(MouseEvent.MOUSE_DOWN, musicOnStart);
function musicOnOver(evt:MouseEvent):void
{
if (musicOn.alpha > 0.3)
{
musicOn.alpha = 0.3;
}
}
function musicOnOut(evt:MouseEvent):void
{
if (musicOn.alpha < 1)
{
musicOn.alpha = 1;
}
}
/*function musicOnStart(evt:MouseEvent):void
{
channel.play('pausePos');
}*/
resumeBadge.addEventListener(MouseEvent.MOUSE_OVER, resumeBadgeOver);
resumeBadge.addEventListener(MouseEvent.MOUSE_OUT, resumeBadgeOut);
function resumeBadgeOver(evt:MouseEvent):void
{
var resmueBadgeMoveTweenOver:Tween = new Tween(resumeBadge, "y", Elastic.easeOut, 600, 590, 0.5, true);
}
function resumeBadgeOut(evt:MouseEvent):void
{
var resmueBadgeMoveTweenOut:Tween = new Tween(resumeBadge, "y", Elastic.easeOut, 590, 600, 0.5, true);
}
breadBadge.addEventListener(MouseEvent.MOUSE_OVER, breadBadgeOver);
breadBadge.addEventListener(MouseEvent.MOUSE_OUT, breadBadgeOut);
function breadBadgeOver(evt:MouseEvent):void
{
var resmueBadgeMoveTweenOver:Tween = new Tween(breadBadge, "y", Elastic.easeOut, 250, 240, 0.5, true);
}
function breadBadgeOut(evt:MouseEvent):void
{
var resmueBadgeMoveTweenOut:Tween = new Tween(breadBadge, "y", Elastic.easeOut, 240, 250, 0.5, true);
}
aboutLink.addEventListener(MouseEvent.MOUSE_DOWN, aboutLinkOver);
function aboutLinkOver(evt:MouseEvent):void
{
if (aboutSite.alpha < 1 && aboutMe.alpha < 1 && contactForm.alpha < 1)
{
var aboutMeAlphaTweenIn:Tween = new Tween(aboutMe, "alpha", Regular.easeOut, 0, 1, 1, true);
var portfolioNavAlphaTweenOut:Tween = new Tween(portfolioNav, "alpha", Regular.easeOut, 1, 0, 1, true);
var closeBtnAlphaTweenIn:Tween = new Tween(closeBtn, "alpha", Regular.easeOut, 0, 1, 1, true);
}
}
siteLink.addEventListener(MouseEvent.MOUSE_DOWN, siteLinkDown);
function siteLinkDown(evt:MouseEvent):void
{
if (aboutSite.alpha < 1 && aboutMe.alpha < 1 && contactForm.alpha < 1)
{
var siteAlphaTween:Tween = new Tween(aboutSite, "alpha", Regular.easeOut, 0, 1, 1, true);
var portfolioNavAlphaTween:Tween = new Tween(portfolioNav, "alpha", Regular.easeOut, 1, 0, 1, true);
var closeBtnAlphaTweenIn:Tween = new Tween(closeBtn, "alpha", Regular.easeOut, 0, 1, 1, true);
}
}
contactLink.addEventListener(MouseEvent.MOUSE_DOWN, contactLinkDown);
function contactLinkDown(evt:MouseEvent):void
{
if (aboutSite.alpha < 1 && aboutMe.alpha < 1 && contactForm.alpha < 1)
{
var contactFormAlphaTween:Tween = new Tween(contactForm, "alpha", Regular.easeOut, 0, 1, 1, true);
var portfolioNavAlphaTween:Tween = new Tween(portfolioNav, "alpha", Regular.easeOut, 1, 0, 1, true);
var closeBtnAlphaTweenIn:Tween = new Tween(closeBtn, "alpha", Regular.easeOut, 0, 1, 1, true);
}
}
closeBtn.addEventListener(MouseEvent.MOUSE_DOWN, closeBtnOver);
function closeBtnOver(evt:MouseEvent):void
{
if (aboutMe.alpha > 0)
{
var aboutMeAlphaTweenIn:Tween = new Tween(aboutMe, "alpha", Regular.easeOut, 1, 0, 1, true);
var portfolioNavAlphaTweenIn1:Tween = new Tween(portfolioNav, "alpha", Regular.easeOut, 0, 1, 1, true);
var closeBtnAlphaTweenOut1:Tween = new Tween(closeBtn, "alpha", Regular.easeOut, 1, 0, 1, true);
}
if (contactForm.alpha > 0)
{
var contactFormAlphaTweenIn:Tween = new Tween(contactForm, "alpha", Regular.easeOut, 1, 0, 1, true);
var portfolioNavAlphaTweenIn2:Tween = new Tween(portfolioNav, "alpha", Regular.easeOut, 0, 1, 1, true);
var closeBtnAlphaTweenOut2:Tween = new Tween(closeBtn, "alpha", Regular.easeOut, 1, 0, 1, true);
}
if (aboutSite.alpha > 0)
{
var aboutSiteAlphaTweenOut:Tween = new Tween(aboutSite, "alpha", Regular.easeOut, 1, 0, 1, true);
var portfolioNavAlphaTweenIn3:Tween = new Tween(portfolioNav, "alpha", Regular.easeOut, 0, 1, 1, true);
var closeBtnAlphaTweenOut3:Tween = new Tween(closeBtn, "alpha", Regular.easeOut, 1, 0, 1, true);
}
}
function preloadTwenties():void
{
var l:Loader = new Loader();
l.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loop);
l.contentLoaderInfo.addEventListener(Event.COMPLETE, done);
l.load(new URLRequest("mainTwenties.swf"));
function loop(e:ProgressEvent):void
{
var perc:Number = e.bytesLoaded / e.bytesTotal;
percent.text = Math.ceil(perc*100).toString();
}
function done(e:Event):void
{
removeChildAt(0);
percent = null;
addChild(l);
}
}
function exitSixties() // start of exit sixties
{
if (cigs.alpha > 0)
{
var cigsLeaveMoveTween:Tween = new Tween(cigs, "y", Regular.easeOut, 800, yBottom, 2, true);
var cigsLeaveAlphaTween:Tween = new Tween(cigs, "alpha", Regular.easeOut, 1, 0, 3, true);
var portfolioLeaveMoveTween:Tween = new Tween(portfolio, "x", Regular.easeOut, 450, xLeft, 2, true);
var portfolioLeaveAlphaTween:Tween = new Tween(portfolio, "alpha", Regular.easeOut, 1, 0, 3, true);
var artworkLeaveMoveTween:Tween = new Tween(artwork, "x", Regular.easeOut, 850, xRight, 2, true);
var artworkLeaveAlphaTween:Tween = new Tween(artwork, "alpha", Regular.easeOut, 1, 0, 3, true);
var resumeLeaveBadgeMoveTween:Tween = new Tween(resumeBadge, "x", Regular.easeOut, 260, xLeft, 2, true);
var resumeLeaveBadgeAlphaTween:Tween = new Tween(resumeBadge, "alpha", Regular.easeOut, 1, 0, 3, true);
var breadLeaveBadgeMoveTween:Tween = new Tween(breadBadge, "y", Regular.easeOut, 250, yTop, 2, true);
var breadLeaveBadgeAlphaTween:Tween = new Tween(breadBadge, "alpha", Regular.easeOut, 1, 0, 3, true);
var newspaperLeaveMoveTween:Tween = new Tween(newspaper, "y", Regular.easeOut, 915, yBottom, 2, true);
var newspaperLeaveAlphaTween:Tween = new Tween(newspaper, "alpha", Regular.easeOut, 1, 0, 3, true);
var myNameLeaveAlphaTween:Tween = new Tween(myName, "alpha", Regular.easeOut, 0.5, 0, 3, true);
var link1923LeaveAlphaTween:Tween = new Tween(link1923, "alpha", Regular.easeOut, 0.3, 0, 3, true);
var link1952LeaveAlphaTween:Tween = new Tween(link1952, "alpha", Regular.easeOut, 0.3, 0, 3, true);
var link1988LeaveAlphaTween:Tween = new Tween(link1988, "alpha", Regular.easeOut, 0.3, 0, 3, true);
var lineLeaveAlphaTween:Tween = new Tween(line, "alpha", Regular.easeOut, 0.3, 0, 3, true);
var pencilLeaveMoveTween:Tween = new Tween(pencil, "x", Regular.easeOut, 950, xRight, 2, true);
var pencilLeaveAlphaTween:Tween = new Tween(pencil, "alpha", Regular.easeOut, 1, 0, 3, true);
var musicLeaveOffAlphaTween:Tween = new Tween(musicOff, "alpha", Regular.easeOut, 1, 0, 5, true);
var musicLeaveOnAlphaTween:Tween = new Tween(musicOn, "alpha", Regular.easeOut, 1, 0, 5, true);
var portfoLeavelioNavMoveTween:Tween = new Tween(portfolioNav, "x", Regular.easeOut, 345, xLeft, 2, true);
var portfolioLeaveNavAlphaTween:Tween = new Tween(personalNav, "alpha", Regular.easeOut, 1, 0, 3, true);
stop();
channel.stop();
preloadTwenties();
} // end of exitSixties
}
}
}
}