Skip to main content
Known Participant
November 25, 2013
Question

How can I simplify the code in this situation?

  • November 25, 2013
  • 2 replies
  • 474 views

I want to control the alpha in different situdation and I have many objects that I need to control. Here is the code. How can I simipfy the code on below?

var alp:Number=0.3;

relationship.arc1.addEventListener(MouseEvent.CLICK, onRelat1);

function onRelat1 (evt:MouseEvent):void{

    relationship.blueL1.alpha=1;

          relationship.blueL2.alpha=1;

          relationship.blueL3.alpha=alp;

          relationship.blueL4.alpha=alp;

          relationship.pinkL1.alpha=alp;

          relationship.pinkL2.alpha=1;

          relationship.pinkL3.alpha=alp;

          relationship.pinkL4.alpha=alp;

          relationship.yellowL1.alpha=alp;

          relationship.yellowL2.alpha=alp;

          relationship.yellowL3.alpha=alp;

          relationship.orangeL1.alpha=1;

          relationship.orangeL2.alpha=alp;

          relationship.orangeL3.alpha=alp;

          relationship.orangeL4.alpha=1;

          relationship.redL1.alpha=alp;

 

          relationship.businessOwners.alpha=1;

          relationship.sexWorkers.alpha=1;

          relationship.drugAddicts.alpha=alp;

          relationship.workers.alpha=1;

          relationship.tourists.alpha=1;

          relationship.security.alpha=alp;

          relationship.domestic.alpha=alp;

          relationship.traders.alpha=1;

          relationship.seekers.alpha=1;

 

}

relationship.arc2.addEventListener(MouseEvent.CLICK, onRelat2);

function onRelat2 (evt:MouseEvent):void{

    relationship.blueL1.alpha=alp;

          relationship.blueL2.alpha=alp;

          relationship.blueL3.alpha=alp;

          relationship.blueL4.alpha=alp;

          relationship.pinkL1.alpha=1;

          relationship.pinkL2.alpha=1;

          relationship.pinkL3.alpha=1;

          relationship.pinkL4.alpha=1;

          relationship.yellowL1.alpha=1;

          relationship.yellowL2.alpha=alp;

          relationship.yellowL3.alpha=alp;

          relationship.orangeL1.alpha=alp;

          relationship.orangeL2.alpha=alp;

          relationship.orangeL3.alpha=alp;

          relationship.orangeL4.alpha=alp;

          relationship.redL1.alpha=alp;

 

          relationship.businessOwners.alpha=1;

          relationship.sexWorkers.alpha=1;

          relationship.drugAddicts.alpha=alp;

          relationship.workers.alpha=1;

          relationship.tourists.alpha=alp;

          relationship.security.alpha=alp;

          relationship.domestic.alpha=alp;

          relationship.traders.alpha=1;

          relationship.seekers.alpha=1;

}

relationship.arc3.addEventListener(MouseEvent.CLICK, onRelat3);

function onRelat3 (evt:MouseEvent):void{

    relationship.blueL1.alpha=alp;

          relationship.blueL2.alpha=alp;

          relationship.blueL3.alpha=alp;

          relationship.blueL4.alpha=alp;

          relationship.pinkL1.alpha=alp;

          relationship.pinkL2.alpha=alp;

          relationship.pinkL3.alpha=alp;

          relationship.pinkL4.alpha=alp;

          relationship.yellowL1.alpha=alp;

          relationship.yellowL2.alpha=1;

          relationship.yellowL3.alpha=alp;

          relationship.orangeL1.alpha=alp;

          relationship.orangeL2.alpha=alp;

          relationship.orangeL3.alpha=alp;

          relationship.orangeL4.alpha=alp;

          relationship.redL1.alpha=alp;

 

          relationship.businessOwners.alpha=alp;

          relationship.sexWorkers.alpha=alp;

          relationship.drugAddicts.alpha=1;

          relationship.workers.alpha=alp;

          relationship.tourists.alpha=alp;

          relationship.security.alpha=1;

          relationship.domestic.alpha=alp;

          relationship.traders.alpha=alp;

          relationship.seekers.alpha=alp;

}

This topic has been closed for replies.

2 replies

Inspiring
November 27, 2013

download http://www.greensock.com/tweenmax/

add this import statements at the begining of your code

import com.greensock.*;

TweenMax has the option to apply a bunch of properties to a whole set of Arrays.

in your case:

var mcArray:Array = [ relationship.tourists,   relationship.security ];

function setAlpha (_arr:Array,_alpha:Number):void{

   TweenMax.allTo(_arr, 0, {alpha:_alpha});

}

// calling setAlpha(mcArray,1) will change the alphavalues of all MovieClips that are in the mcArray

Ned Murphy
Legend
November 25, 2013

In order to simplify the code you normally need to have some kind of pattern that allows you take make the code more generic where you can have one function that is able to manage the processing where there otherwise might be multiple functions needed.  I do not see any pattern that allows for this type of simplification.  Since you are the only one intimately familiar with what the code is doing, you'll have to see if yopu can find things that either don't change or change in some kind of pattern that you can logically define in code.