package { import flash.display.*; import flash.events.*; import caurina.transitions.Tweener; import flash.filters.*; // When using Tweener class must be MovieClip! (Sprite does not work?) public class Tweener_01 extends MovieClip { public function Tweener_01() { b_0.scaleX = b_0.scaleY = 0; // Set the scale of each clip to 0 b_1.scaleX = b_1.scaleY = 0; b_2.scaleX = b_2.scaleY = 0; b_3.scaleX = b_3.scaleY = 0; b_4.scaleX = b_4.scaleY = 0; b_5.scaleX = b_5.scaleY = 0; b_6.scaleX = b_6.scaleY = 0; b_7.scaleX = b_7.scaleY = 0; b_8.scaleX = b_8.scaleY = 0; b_9.scaleX = b_9.scaleY = 0; b_10.scaleX = b_10.scaleY = 0; b_11.scaleX = b_11.scaleY = 0; b_12.scaleX = b_12.scaleY = 0; b_13.scaleX = b_13.scaleY = 0; b_14.scaleX = b_14.scaleY = 0; // Create an object with Tween properties var open_tween = { scaleX:1, scaleY:1, time:1, transition:"easeoutelastic", delay:0 }; Tweener.addTween( b_0, open_tween ); // Add a tween for b_0 open_tween.delay = .25; // Increase the delay so b_1 lags behind the first Tweener.addTween( b_1, open_tween ); // add another tween for b_1 open_tween.delay = .5; Tweener.addTween( b_2, open_tween ); open_tween.delay = .75; Tweener.addTween( b_3, open_tween ); open_tween.delay = 1.0; Tweener.addTween( b_4, open_tween ); open_tween.delay = 1.25; Tweener.addTween( b_5, open_tween ); open_tween.delay = 1.5; Tweener.addTween( b_6, open_tween ); open_tween.delay = 1.75; Tweener.addTween( b_7, open_tween ); open_tween.delay = 2.0; Tweener.addTween( b_8, open_tween ); open_tween.delay = 2.25; Tweener.addTween( b_9, open_tween ); open_tween.delay = 2.5; Tweener.addTween( b_10, open_tween ); open_tween.delay = 2.75; Tweener.addTween( b_11, open_tween ); open_tween.delay = 3.0; Tweener.addTween( b_12, open_tween ); open_tween.delay = 3.25; Tweener.addTween( b_13, open_tween ); open_tween.delay = 3.5; Tweener.addTween( b_14, open_tween ); b_0.addEventListener( MouseEvent.ROLL_OVER, pop_open ); // Create a listener for each button b_1.addEventListener( MouseEvent.ROLL_OVER, pop_open ); b_2.addEventListener( MouseEvent.ROLL_OVER, pop_open ); b_3.addEventListener( MouseEvent.ROLL_OVER, pop_open ); b_4.addEventListener( MouseEvent.ROLL_OVER, pop_open ); b_5.addEventListener( MouseEvent.ROLL_OVER, pop_open ); b_6.addEventListener( MouseEvent.ROLL_OVER, pop_open ); b_7.addEventListener( MouseEvent.ROLL_OVER, pop_open ); b_8.addEventListener( MouseEvent.ROLL_OVER, pop_open ); b_9.addEventListener( MouseEvent.ROLL_OVER, pop_open ); b_10.addEventListener( MouseEvent.ROLL_OVER, pop_open ); b_11.addEventListener( MouseEvent.ROLL_OVER, pop_open ); b_12.addEventListener( MouseEvent.ROLL_OVER, pop_open ); b_13.addEventListener( MouseEvent.ROLL_OVER, pop_open ); b_14.addEventListener( MouseEvent.ROLL_OVER, pop_open ); b_0.addEventListener( MouseEvent.ROLL_OUT, pop_close ); b_1.addEventListener( MouseEvent.ROLL_OUT, pop_close ); b_2.addEventListener( MouseEvent.ROLL_OUT, pop_close ); b_3.addEventListener( MouseEvent.ROLL_OUT, pop_close ); b_4.addEventListener( MouseEvent.ROLL_OUT, pop_close ); b_5.addEventListener( MouseEvent.ROLL_OUT, pop_close ); b_6.addEventListener( MouseEvent.ROLL_OUT, pop_close ); b_7.addEventListener( MouseEvent.ROLL_OUT, pop_close ); b_8.addEventListener( MouseEvent.ROLL_OUT, pop_close ); b_9.addEventListener( MouseEvent.ROLL_OUT, pop_close ); b_10.addEventListener( MouseEvent.ROLL_OUT, pop_close ); b_11.addEventListener( MouseEvent.ROLL_OUT, pop_close ); b_12.addEventListener( MouseEvent.ROLL_OUT, pop_close ); b_13.addEventListener( MouseEvent.ROLL_OUT, pop_close ); b_14.addEventListener( MouseEvent.ROLL_OUT, pop_close ); b_0.addEventListener( MouseEvent.CLICK, pop_click ); b_1.addEventListener( MouseEvent.CLICK, pop_click ); b_2.addEventListener( MouseEvent.CLICK, pop_click ); b_3.addEventListener( MouseEvent.CLICK, pop_click ); b_4.addEventListener( MouseEvent.CLICK, pop_click ); b_5.addEventListener( MouseEvent.CLICK, pop_click ); b_6.addEventListener( MouseEvent.CLICK, pop_click ); b_7.addEventListener( MouseEvent.CLICK, pop_click ); b_8.addEventListener( MouseEvent.CLICK, pop_click ); b_9.addEventListener( MouseEvent.CLICK, pop_click ); b_10.addEventListener( MouseEvent.CLICK, pop_click ); b_11.addEventListener( MouseEvent.CLICK, pop_click ); b_12.addEventListener( MouseEvent.CLICK, pop_click ); b_13.addEventListener( MouseEvent.CLICK, pop_click ); b_14.addEventListener( MouseEvent.CLICK, pop_click ); } private function pop_open( evt:Event ):void { var target = evt.currentTarget; // Use the currentTarget to find out which object triggered this event // Add another tween to scale that object up to 150% this.setChildIndex(target, (this.numChildren - 1)); Tweener.addTween( target, { scaleX:1.5, scaleY:1.5, time:1, transition:"easeoutelastic" } ); Tweener.addTween( target.title, {alpha:1, scaleX:1, time:.5, transition:"easeOutExpo"}); Tweener.addTween( target.shadow, {alpha:0, time:.5, transition:"easeOutExpo"}); var ds:DropShadowFilter = new DropShadowFilter(0, 0, 0x000000, 1, 7, 7, 1.5, 3, false, false, false); target.filters = [ ds ]; } private function pop_close( evt:Event ):void { var target = evt.currentTarget; // Use the current Target to get the object that triggered this event // Scale the object back to 100% Tweener.addTween( target.title, {alpha:0, time:.5, scaleX:0, transition:"easeOutExpo"}); Tweener.addTween( target.shadow, {alpha:1, time:.5, transition:"easeOutExpo"}); target.filters = []; Tweener.addTween( target, { scaleX:1, scaleY:1, time:1, transition:"easeoutelastic" } ); } private function pop_click (evt:Event):void { var target = evt.currentTarget; //myScroll.contentXML = "target instance name .xml?"; } } }