So i did a bit of reading on AS3.0 And I began to work on a simple menu that would be o so easy for me to acomplish in AS2.0. After a few hours I managed to get my desired effect, but the code seems ridiculously long and sloppy. Can someone take a look and help me revise it? Also heavy commenting would be great, I want to use this to learn from for future projects.
here is the design: http://www.mav-media.com/mav/MavV2/
here is my o so messy code:
var currentPage:String = “HOME”;
var clickedPage:String = “HOME”;
//set the transition fader MovieClip alpha to zero
fader_mc.alpha = 0
//Roll Over Function
function btnRollOver(event:MouseEvent):void {
event.target.gotoAndPlay(“bling”);
}
//Roll Out Function
function btnRollOut(event:MouseEvent):void {
event.target.gotoAndStop(“static”);
}
// Button fade in and out functions
function btnAlphaIn(event:Event):void {
event.target.alpha += .075;
if (event.target.alpha >= 1) {
event.target.alpha = 1;
event.target.removeEventListener(Event.ENTER_FRAME, btnAlphaIn);
}
}
function btnAlphaOut(event:Event):void {
event.target.alpha -= .075;
if (event.target.alpha <= .6) {
event.target.alpha = .6;
event.target.removeEventListener(Event.ENTER_FRAME, btnAlphaOut);
}
}
//Button Click Functions
function homeClick(event:MouseEvent):void {
clickedPage = “HOME”;
loadPage();
}
function aboutClick(event:MouseEvent):void {
clickedPage = “ABOUT”;
loadPage();
}
function servClick(event:MouseEvent):void {
clickedPage = “SERVICES”;
loadPage();
}
function portClick(event:MouseEvent):void {
clickedPage = “PORTFOLIO”;
loadPage();
}
//Select and Load Clicked Page Functions
function loadPage():void {
if (currentPage == “HOME”) {
btnHome_mc.addEventListener(Event.ENTER_FRAME, btnAlphaIn);
}
if (currentPage == “ABOUT”) {
btnAbout_mc.addEventListener(Event.ENTER_FRAME, btnAlphaIn);
}
if (currentPage == “SERVICES”) {
btnServices_mc.addEventListener(Event.ENTER_FRAME, btnAlphaIn);
}
if (currentPage == “PORTFOLIO”) {
btnPortfolio_mc.addEventListener(Event.ENTER_FRAME, btnAlphaIn);
}
if (clickedPage == “HOME”) {
currentPage = “HOME”;
btnHome_mc.addEventListener(Event.ENTER_FRAME, btnAlphaOut);
btnHome_mc.removeEventListener(MouseEvent.ROLL_OVER, btnRollOver);
btnHome_mc.removeEventListener(MouseEvent.ROLL_OUT, btnRollOut);
btnHome_mc.removeEventListener(MouseEvent.CLICK, homeClick);
btnAbout_mc.addEventListener(MouseEvent.ROLL_OVER, btnRollOver);
btnAbout_mc.addEventListener(MouseEvent.ROLL_OUT, btnRollOut);
btnAbout_mc.addEventListener(MouseEvent.CLICK, aboutClick);
btnServices_mc.addEventListener(MouseEvent.ROLL_OVER, btnRollOver);
btnServices_mc.addEventListener(MouseEvent.ROLL_OUT, btnRollOut);
btnServices_mc.addEventListener(MouseEvent.CLICK, servClick);
btnPortfolio_mc.addEventListener(MouseEvent.ROLL_OVER, btnRollOver);
btnPortfolio_mc.addEventListener(MouseEvent.ROLL_OUT, btnRollOut);
btnPortfolio_mc.addEventListener(MouseEvent.CLICK, portClick);
btnHome_mc.buttonMode = false;
btnAbout_mc.buttonMode = true;
btnServices_mc.buttonMode = true;
btnPortfolio_mc.buttonMode = true;
}
if (clickedPage == "ABOUT") {
currentPage = "ABOUT";
trace(currentPage);
btnAbout_mc.addEventListener(Event.ENTER_FRAME, btnAlphaOut);
btnHome_mc.addEventListener(MouseEvent.ROLL_OVER, btnRollOver);
btnHome_mc.addEventListener(MouseEvent.ROLL_OUT, btnRollOut);
btnHome_mc.addEventListener(MouseEvent.CLICK, homeClick);
btnAbout_mc.removeEventListener(MouseEvent.ROLL_OVER, btnRollOver);
btnAbout_mc.removeEventListener(MouseEvent.ROLL_OUT, btnRollOut);
btnAbout_mc.removeEventListener(MouseEvent.CLICK, aboutClick);
btnServices_mc.addEventListener(MouseEvent.ROLL_OVER, btnRollOver);
btnServices_mc.addEventListener(MouseEvent.ROLL_OUT, btnRollOut);
btnServices_mc.addEventListener(MouseEvent.CLICK, servClick);
btnPortfolio_mc.addEventListener(MouseEvent.ROLL_OVER, btnRollOver);
btnPortfolio_mc.addEventListener(MouseEvent.ROLL_OUT, btnRollOut);
btnPortfolio_mc.addEventListener(MouseEvent.CLICK, portClick);
btnHome_mc.buttonMode = true;
btnAbout_mc.buttonMode = false;
btnServices_mc.buttonMode = true;
btnPortfolio_mc.buttonMode = true;
}
if (clickedPage == "SERVICES") {
currentPage = "SERVICES";
btnServices_mc.addEventListener(Event.ENTER_FRAME, btnAlphaOut);
btnHome_mc.addEventListener(MouseEvent.ROLL_OVER, btnRollOver);
btnHome_mc.addEventListener(MouseEvent.ROLL_OUT, btnRollOut);
btnHome_mc.addEventListener(MouseEvent.CLICK, homeClick);
btnAbout_mc.addEventListener(MouseEvent.ROLL_OVER, btnRollOver);
btnAbout_mc.addEventListener(MouseEvent.ROLL_OUT, btnRollOut);
btnAbout_mc.addEventListener(MouseEvent.CLICK, aboutClick);
btnServices_mc.removeEventListener(MouseEvent.ROLL_OVER, btnRollOver);
btnServices_mc.removeEventListener(MouseEvent.ROLL_OUT, btnRollOut);
btnServices_mc.removeEventListener(MouseEvent.CLICK, servClick);
btnPortfolio_mc.addEventListener(MouseEvent.ROLL_OVER, btnRollOver);
btnPortfolio_mc.addEventListener(MouseEvent.ROLL_OUT, btnRollOut);
btnPortfolio_mc.addEventListener(MouseEvent.CLICK, portClick);
btnHome_mc.buttonMode = true;
btnAbout_mc.buttonMode = true;
btnServices_mc.buttonMode = false;
btnPortfolio_mc.buttonMode = true;
}
if (clickedPage == "PORTFOLIO") {
currentPage = "PORTFOLIO";
btnPortfolio_mc.addEventListener(Event.ENTER_FRAME, btnAlphaOut);
btnHome_mc.addEventListener(MouseEvent.ROLL_OVER, btnRollOver);
btnHome_mc.addEventListener(MouseEvent.ROLL_OUT, btnRollOut);
btnHome_mc.addEventListener(MouseEvent.CLICK, homeClick);
btnAbout_mc.addEventListener(MouseEvent.ROLL_OVER, btnRollOver);
btnAbout_mc.addEventListener(MouseEvent.ROLL_OUT, btnRollOut);
btnAbout_mc.addEventListener(MouseEvent.CLICK, aboutClick);
btnServices_mc.addEventListener(MouseEvent.ROLL_OVER, btnRollOver);
btnServices_mc.addEventListener(MouseEvent.ROLL_OUT, btnRollOut);
btnServices_mc.addEventListener(MouseEvent.CLICK, servClick);
btnPortfolio_mc.removeEventListener(MouseEvent.ROLL_OVER, btnRollOver);
btnPortfolio_mc.removeEventListener(MouseEvent.ROLL_OUT, btnRollOut);
btnPortfolio_mc.removeEventListener(MouseEvent.CLICK, portClick);
btnHome_mc.buttonMode = true;
btnAbout_mc.buttonMode = true;
btnServices_mc.buttonMode = true;
btnPortfolio_mc.buttonMode = false;
}
fader_mc.addEventListener(Event.ENTER_FRAME, faderIn);
}
//function to fade in “cover” on the content area and go to the frame in the content page
function faderIn(event:Event):void {
event.target.alpha += .1;
if (event.target.alpha >=1) {
event.target.removeEventListener(Event.ENTER_FRAME, faderIn);
if (clickedPage == “HOME”){
content_mc.gotoAndStop(“HOME”)
}
if (clickedPage == “ABOUT”){
content_mc.gotoAndStop(“ABOUT”)
}
if (clickedPage == “SERVICES”){
content_mc.gotoAndStop(“SERVICES”)
}
if (clickedPage == “PORTFOLIO”){
content_mc.gotoAndStop(“PORTFOLIO”)
}
event.target.addEventListener(Event.ENTER_FRAME, faderOut);
}
}
function faderOut(event:Event):void {
event.target.alpha -=.1;
if (event.target.alpha <= 0) {
event.target.removeEventListener(Event.ENTER_FRAME, faderOut);
}
}
loadPage();
stop();
Also: My buttons can’t be clicked while the rollover effect is being displayed
Thanks all help is GREATLY appreciated, I look forward to seeing how this should really be done!