I have this menu that I manage to loop in the array I wanted fine.
Then when I rollover the menu, I will want to loop in some side info of it,
and a same bg for the menu.
Now my problem is i can’t seems to target the currentTarget,
thus I can’t put each info on its correct position,
and remove the info/bg when I rollout of the menu.
// Menu Button & Reflections
private function menus():void {
for (var i=0; i<5; i++) {
//menuArray*.buttonMode=true;
menuArray*.x=(145+15)*i;
menuArray*.y=0;
menuArray*.button.addEventListener(MouseEvent.ROLL_OVER,btnOver);
addChild(menuArray*);
var style:ReflectionStyle=new ReflectionStyle ;
style.distance=0;
style.alpha=0.5;
style.matrixRatio=0.3;
var r1:BitmapReflection=new BitmapReflection(menuArray*,style);
addChild(r1);
}
this.x=(stage.stageWidth/2)-(this.width/2);
}
//------------------------------------------------------------------------------------------
// Menu Titles
private function titles():void {
this.x = (stage.stageWidth/2);
this.y = (stage.stageHeight/2);
var menuTitleFormat:TextFormat=new TextFormat("Century Gothic",18,0x000000);
for (i; i < 5; i++) {
//Menu Title
var menuTitle:TextField = new TextField();
menuTitle.defaultTextFormat=menuTitleFormat;
menuTitle.text=menuTitleArray*;
menuTitle.width=145;
menuTitle.x=(145+15)*i;
menuTitle.y=-200;
menuTitle.selectable=false;
menuTitle.autoSize=TextFieldAutoSize.CENTER;
textArray.push(menuTitle);
addChild(menuTitle);
this.x=(stage.stageWidth/2)-(this.width/2);
}
}
//------------------------------------------------------------------------------------------
// On ROllOver
private function btnOver(event:MouseEvent):void {
// Menu Infos
menuInfo.defaultTextFormat=menuInfoFormat;
menuInfo.width=145;
menuInfo.x=event.target.x;
menuInfo.y=-180;
menuInfo.selectable=false;
menuInfo.autoSize=TextFieldAutoSize.CENTER;
textArray.push(menuInfo);
this.buttonMode=true;
var glowBGY=-330;
var type:String=GradientType.LINEAR;
var colors:Array=[0xFFFFFF,0xFFFFFF];
var alphas:Array=[1,0];
var ratios:Array=[0,255];
var spreadMethod:String=SpreadMethod.PAD;
var interp:String=InterpolationMethod.LINEAR_RGB;
var focalPtRatio:Number=0;
var matrix:Matrix = new Matrix();
var boxWidth:Number=145;
var boxHeight:Number=-300;
var boxRotation:Number=Math.PI/2;// 90˚
var tx:Number=0;
var ty:Number=0;
matrix.createGradientBox(boxWidth, boxHeight, boxRotation, tx, ty);
var square:Shape=new Shape ;
square.graphics.beginGradientFill(type,
colors,
alphas,
ratios,
matrix,
spreadMethod,
interp,
focalPtRatio);
var btnOverArray:Array = new Array();
switch (event.target) {
case menuArray[0].button :
trace("WHO WE ARE");
square.graphics.drawRect(menuArray[0].x, glowBGY, 145, 300);
menuInfo.text=menuInfoArray[0];
break;
case menuArray[1].button :
trace("WHAT WE DO");
square.graphics.drawRect(menuArray[1].x, glowBGY, 145, 300);
menuInfo.text=menuInfoArray[1];
break;
case menuArray[2].button :
trace("OUR PRODUCTS");
square.graphics.drawRect(menuArray[2].x, glowBGY, 145, 300);
menuInfo.text=menuInfoArray[2];
break;
case menuArray[3].button :
trace("CLIENTELE");
square.graphics.drawRect(menuArray[3].x, glowBGY, 145, 300);
menuInfo.text=menuInfoArray[3];
break;
case menuArray[4].button :
trace("CONTACT US");
square.graphics.drawRect(menuArray[4].x, glowBGY, 145, 300);
menuInfo.text=menuInfoArray[4];
break;
}
addChild(square);
addChild(menuInfo);
event.target.addEventListener(MouseEvent.ROLL_OUT,buttonOut);
}
private function buttonOut(event:MouseEvent):void {
var t:DisplayObject=DisplayObject(event.currentTarget);
removeChild( DisplayObject(event.target) );
}
this is the scripts i have now.
i think it’s still shorten-able at the rollover part. any ideas on that too?:h: