# First AS 3.0 work, help revise code

**URL:** https://forum.kirupa.com/t/first-as-3-0-work-help-revise-code/237675
**Category:** Uncategorized
**Created:** [September 2, 2007, 6:49am UTC](https://forum.kirupa.com/t/first-as-3-0-work-help-revise-code/237675 "2007-09-02T06:49:24Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![jayrich86](https://avatars.discourse-cdn.com/v4/letter/j/e8c25b/32.png) [@jayrich86](https://forum.kirupa.com/u/jayrich86)
#### Post date: [September 2, 2007, 6:49am UTC](https://forum.kirupa.com/t/first-as-3-0-work-help-revise-code/237675/1 "2007-09-02T06:49:24Z")

</div>

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/](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!
