# AS3 zoom in on particular mc in a carousel on rollover?

**URL:** <https://forum.kirupa.com/t/as3-zoom-in-on-particular-mc-in-a-carousel-on-rollover/294065>\
**Category:** flash\
**Created:** [August 7, 2009, 8:03pm UTC](https://forum.kirupa.com/t/as3-zoom-in-on-particular-mc-in-a-carousel-on-rollover/294065 "2009-08-07T20:03:34Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![wuzzi2ya](https://avatars.discourse-cdn.com/v4/letter/w/e79b87/32.png) [@wuzzi2ya](https://forum.kirupa.com/u/wuzzi2ya)\
**Post date:** [August 7, 2009, 8:03pm UTC](https://forum.kirupa.com/t/as3-zoom-in-on-particular-mc-in-a-carousel-on-rollover/294065/1 "2009-08-07T20:03:34Z")

</div>

I need to upon rolling over a particular mc that mc to zoom to the forefront and the carousel stop. Any suggestions on where to go from here?  
Thanks as all and everything is help…

AS3:

```auto
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
import com.greensock.*;
import gs.easing.*;
import gs.*;

var centerX:Number = stage.stageWidth / 2;
var centerY:Number = stage.stageHeight / 2;
var radiusX:Number = 300;
var radiusY:Number = 50;
var speed:Number = 0.1;
var minSpeed:Number = -0.15;
var maxSpeed:Number = 0.15;
var rangeSpeed:Number = maxSpeed - minSpeed;
var minY:Number = centerY - radiusY;
var maxY:Number = centerY + radiusY;
var rangeY:Number = maxY - minY;
var minScale:Number = 0.5;
var maxScale:Number = 3;
var rangeScale:Number = maxScale - minScale;
var itemArray:Array = new Array();
var redMC:red = new red();
var myTimeline:TimelineMax = new TimelineMax();
var canvas:MovieClip = new MovieClip();

itemArray.push(new green());
itemArray.push(new orange());
itemArray.push(new purple());
itemArray.push(new brown());
itemArray.push(new black());

addChild(canvas);
for (var i:Number = 0; i < itemArray.length; i++) {
    canvas.addChild(itemArray*);
    itemArray*.buttonMode = true;
    itemArray*.addEventListener(MouseEvent.ROLL_OVER, zoomInOnIt);
    itemArray*.itemAngle = Math.PI * 2 / itemArray.length * i;
    itemArray*.addEventListener(Event.ENTER_FRAME, animate);

    function zoomInOnIt(e:MouseEvent):void {
        myTimeline.append(new TweenLite(itemArray*, .05, {scaleX:5, scaleY:5, ease:Elastic.easeIn}));
        myTimeline.play();
        trace("zoom");
        speed = 0;
    }
}
function animate(e:Event):void {
    speed = mouseX / stage.stageWidth * rangeSpeed + minSpeed;
    e.currentTarget.x = Math.cos(e.currentTarget.itemAngle) * radiusX + centerX;
    e.currentTarget.y = Math.sin(e.currentTarget.itemAngle) * radiusY + centerY;
    e.currentTarget.itemAngle += speed;
    itemArray.sortOn("y");

    for (var i:Number = 0; i < itemArray.length; i++) {
        canvas.setChildIndex(itemArray*, i);
        var pct:Number = (itemArray*.y - minY) / rangeY;
        var scale:Number = pct * rangeScale + minScale;
        itemArray*.scaleX = itemArray*.scaleY = scale;
    }

```

}

Thanks again for any help!
