Copy link to clipboard
Copied
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;
}
Copy link to clipboard
Copied
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.
Copy link to clipboard
Copied
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
Find more inspiration, events, and resources on the new Adobe Community
Explore Now