flash on 2011-12-12

by tjoen
♥0 | Line 56 | Modified 2011-12-12 05:11:13 | MIT License
play

ActionScript3 source code

/**
 * Copyright tjoen ( http://wonderfl.net/user/tjoen )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/gv3M
 */

package 
{
    import flash.display.MovieClip;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.utils.getDefinitionByName;
     
    import soulwire.display.PaperSprite;
    import com.greensock.*;
    import com.greensock.easing.*;
     
    public class paperSpriteDemo extends MovieClip
    {
        private const NUM_OF_CARDS:int = 3;
        private const TWEEN_DURATION_SECS:Number = 1.5;
        private const EASING_PARAMS_ARRAY:Array = [0, 1.5];
         
        private const CARD_ARRAY_1:Array = ["CardFront1", "CardBack1", 200, 200];
        private const CARD_ARRAY_2:Array = ["CardFront2", "CardBack2", 550, 200];
        private const CARD_ARRAY_3:Array = ["CardFront3", "CardBack3", 900, 200];
 
        private var arrayOfPaperSprites:Array;
         
        public function paperSpriteDemo() 
        {
            arrayOfPaperSprites = new Array();
             
            for (var i:int = 0; i < NUM_OF_CARDS; i++ ) {
                var paperSprite:PaperSprite = new PaperSprite();
                 
                var FrontClass:Class = getDefinitionByName(this["CARD_ARRAY_" + (i + 1)][0]) as Class;
                paperSprite.front = new FrontClass();
                 
                var BackClass:Class = getDefinitionByName(this["CARD_ARRAY_" + (i + 1)][1]) as Class;
                paperSprite.back = new BackClass();
 
                paperSprite.buttonMode = true;
                paperSprite.mouseChildren = false;
                 
                paperSprite.x = this["CARD_ARRAY_" + (i + 1)][2];
                paperSprite.y = this["CARD_ARRAY_" + (i + 1)][3];
                 
                paperSprite.addEventListener(MouseEvent.CLICK, onCardClick);
                addChild(paperSprite);
                arrayOfPaperSprites.push(paperSprite);
            }
 
            stage.invalidate();
        }
         
        private function onCardClick(e:MouseEvent):void
        {
            var card:PaperSprite = PaperSprite(e.currentTarget);
            if (card.isFrontFacing) {
                TweenLite.to(card, TWEEN_DURATION_SECS, {rotationY:180, ease:Elastic.easeOut, easeParams:EASING_PARAMS_ARRAY, onComplete:showingBack, onCompleteParams:[card]});
            } else {
                TweenLite.to(card, TWEEN_DURATION_SECS, {rotationY:0, ease:Elastic.easeOut, easeParams:EASING_PARAMS_ARRAY, onComplete:showingFront, onCompleteParams:[card]});
            }
        }
         
        private function showingFront(card:PaperSprite):void
        {
            trace("Showing the front of card: " + card);
        }
         
        private function showingBack(card:PaperSprite):void
        {
            trace("Showing the back of card: " + card);
        }
 
 
    }
 
}