forked from: card action

by chez_sugi forked from card action (diff: 92)
card_action  //////////////////////////////

import flash.motion.MatrixTransformer;
♥0 | Line 199 | Modified 2012-07-09 14:22:56 | MIT License | (replaced)
play

ActionScript3 source code

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

// forked from Takema.Terai's card action
// forked from Takema.Terai's flash on 2012-7-4
///////////////////////////////////////////////
//  card_action  //////////////////////////////
///////////////////////////////////////////////

package {
    import flash.events.Event;
    import flash.display.*;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import caurina.transitions.Tweener;
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.PixelSnapping;
    import flash.system.LoaderContext;
    //import flash.motion.MatrixTransformer;
    import flash.geom.Matrix;
    import flash.geom.Transform;
    import flash.geom.ColorTransform;
    import flash.utils.*;
    
    [SWF(backGroundColor=0x000000, width=465, height=465, frameRate=30)]    

    public class Main extends Sprite {
        
        //set global property
        private var vy:int = 5;
        private var cardW:int = 255;
        private var color:ColorTransform = new ColorTransform(1.0, 1.0, 1.0, 1.0, cardW, cardW, cardW, 0);
        //timer
        private var delay:uint = 30;
        
        //bitmap
        private var _bitmap:Bitmap;
        private var _bitmapData:BitmapData;
        //private var bitmap:Bitmap;        
        private var bitmapData:BitmapData;

        //maincard preload
        private var urlMainCard:String = "http://wonderfl.net/static/tmp/related_images/63def3a27a1e437a2e80501a6e975ee58c134514m"
        private var urlReqMainCard:URLRequest = new URLRequest(urlMainCard);
        private var main_card:Loader = new Loader();
        //subcard preload
        private var urlSubCard:String = "http://wonderfl.net/static/tmp/related_images/b43ab2f45c447b9726cef38a094b5001491c85b3m"
        private var urlReqSubCard:URLRequest = new URLRequest(urlSubCard);
        private var sub_card1:Loader = new Loader();
        private var sub_card2:Loader = new Loader();
        private var sub_card3:Loader = new Loader();
        private var sub_card4:Loader = new Loader();                        
        //bg preload
        private var urlBg:String = "http://wonderfl.net/static/tmp/related_images/41f89fd4512b1864af7be026cf4541d23dd9e52bm";
        private var urlReqBg:URLRequest = new URLRequest(urlBg);
        private var bg:Loader = new Loader();

        //Lvup preload
        //png24
        private var urlLvup:String = "http://assets.wonderfl.net/images/related_images/f/f6/f6c8/f6c85328f6e1b053267e07000a93943581d38f69";
        //png32
        //rivate var urlLvup:String = "http://wonderfl.net/static/tmp/related_images/c89199b613cee1eb1db76adff44e1a721c5cf3aam";
        private var urlReqLvup:URLRequest = new URLRequest(urlLvup);
        private var lvup:Loader = new Loader();
            
        //transform
        private var mat:Matrix = main_card.transform.matrix;
        private var sub_mat1:Matrix = sub_card1.transform.matrix;
        private var sub_mat2:Matrix = sub_card2.transform.matrix;
        
        //main
        public function Main(){
            //
            setupScreen();            
            setBg();
            setupMainCard();
            setupLvup();
            setupSubCard();
        }
        
        //set Screen
        private function setupScreen():void{
            _bitmapData = new BitmapData(465, 465, false, 0x000000);
            _bitmap = addChild(new Bitmap(_bitmapData, PixelSnapping.NEVER, false)) as Bitmap;
            _bitmap.x = 0;
            setChildIndex(_bitmap,0);
        }
        
        //set bg
        private function setBg():void{
            bg.contentLoaderInfo.addEventListener(Event.COMPLETE, onSetBgComplete);
            bg.load(urlReqBg);
            addChild(bg);
            setChildIndex(bg,1);        
        }
        
        //init bg property
        private function onSetBgComplete(e:Event):void{
            bg.x = 0;
            bg.y = 0;
            bg.width = 465;
            bg.height = 465;
        }
        
        
        /*********************************************************************************************************************************
         set main card & bg position + 1st action        
        **********************************************************************************************************************************/        
        //set main_card
        private function setupMainCard():void{
            //
            main_card.contentLoaderInfo.addEventListener(Event.COMPLETE, onSetMainCardComplete);
            main_card.load(urlReqMainCard);
            addChild(main_card);
            //
            mat.translate(bg.stage.width/2, bg.stage.height/2);
            main_card.transform.matrix = mat;
            
            //1st action
            cardAppear(main_card);

        }
        
        //init main_card property
        private function onSetMainCardComplete(e:Event):void{
            main_card.x = bg.stage.width/2;
            main_card.y = bg.stage.height/2;
            main_card.width = 0;
            main_card.height = 0;
        }
        
        private function tweenMainCardCompleteHandler(main_card:Loader):void
        {
            main_card.addEventListener(Event.ENTER_FRAME, color_mUpdate);
        }        
        
        private function color_mUpdate(e:Event):void{
            //
            if(color.redOffset > 0){
                color.redOffset-=15;
                color.greenOffset-=15;
                color.blueOffset-=15;
                main_card.transform.colorTransform = color;
            }
            else{
                main_card.removeEventListener(Event.ENTER_FRAME, color_mUpdate);
                color.redOffset = cardW;
                color.greenOffset = cardW;
                color.blueOffset = cardW;
                main_card.addEventListener(Event.ENTER_FRAME, goto2ndAction);
            }
        }

        public function goto2ndAction(e:Event):void{
            //2nd action
            addChild(sub_card1);
            addChild(sub_card2);
            addChild(sub_card3);
            addChild(sub_card4);
            //setTimeout(aaaa, delay);
                                    
        }
        
        
        /*********************************************************************************************************************************
         set sub card + 2nd action        
        **********************************************************************************************************************************/        
        //set sub_card
        private function setupSubCard():void{
            //
            //onSetSubCardComplete();
            sub_card1.load(urlReqSubCard);
            sub_card2.load(urlReqSubCard);
            sub_card3.load(urlReqSubCard);
            sub_card4.load(urlReqSubCard);            
            
            // なくてもいい
            //sub_mat1.translate(main_card.x, main_card.y);
            //sub_card1.transform.matrix = sub_mat1;
            //sub_mat2.translate(main_card.x , main_card.y);
            //sub_card2.transform.matrix = sub_mat2;
            
            //card appear
            cardAppear(sub_card1);

        }
        
        //init sub_card property ????????????????
        // なくてもいい
        private function onSetSubCardComplete():void{
            //sub_card1.x = bg.stage.width/2;
            //sub_card1.y = bg.stage.height/2;
            //sub_card1.width = 0;
            //sub_card1.height = 0;
        }
        
        private function tweenSubCardCompleteHandler(sub_card1:Loader):void
        {
             sub_card1.addEventListener(Event.ENTER_FRAME, color_sUpdate);
            
        }        
        
        private function aaaa():void{
           //setupSubCard();
           
           //cardAppear(sub_card1);
            
        }

        
        private function color_sUpdate(e:Event):void{
            //
            if(color.redOffset > 0){
                color.redOffset-=15;
                color.greenOffset-=15;
                color.blueOffset-=15;
                sub_card1.transform.colorTransform = color;
                sub_card2.transform.colorTransform = color;
                sub_card3.transform.colorTransform = color;
                sub_card4.transform.colorTransform = color;                                
            }
            else{
                //goto3rdAction
            }
        }


        /*********************************************************************************************************************************
         common function        
        **********************************************************************************************************************************/                
        //cardAppear
        public function cardAppear(card:Loader):void{
            //main_card appear
            if(card == main_card){
                Tweener.addTween(card, {
                    //set adjustment
                    x: bg.stage.width/2 - 57,
                    y: bg.stage.height/2 - 72,
                    width: 120,
                    height: 144,
                    time: 0.3,
                    transition: "easeInOutSine",
                    onComplete: tweenMainCardCompleteHandler,
                    onCompleteParams: [main_card]
                });
            }
            else if(card == sub_card1){
                Tweener.addTween(sub_card1, {
                    //set adjustment
                    x: main_card.x - 27,
                    y: main_card.y - 36 - 180,
                    width: 60,
                    height: 72,
                    time: 0.3,
                    transition: "easeInOutSine",
                    onComplete: tweenSubCardCompleteHandler,
                    onCompleteParams: [sub_card1]
                });
                Tweener.addTween(sub_card2, {
                    //set adjustment
                    x: main_card.x + 80,
                    y: main_card.y - 180,
                    width: 60,
                    height: 72,
                    time: 0.3,
                    transition: "easeInOutSine",
                    onComplete: tweenSubCardCompleteHandler,
                    onCompleteParams: [sub_card2]
                });
                Tweener.addTween(sub_card3, {
                    //set adjustment
                    x: main_card.x + 160,
                    y: main_card.y - 90,
                    width: 60,
                    height: 72,
                    time: 0.3,
                    transition: "easeInOutSine",
                    onComplete: tweenSubCardCompleteHandler,
                    onCompleteParams: [sub_card3]
                });
                Tweener.addTween(sub_card4, {
                    //set adjustment
                    x: main_card.x + 160,
                    y: main_card.y + 20,
                    width: 60,
                    height: 72,
                    time: 0.3,
                    transition: "easeInOutSine",
                    onComplete: tweenSubCardCompleteHandler,
                    onCompleteParams: [sub_card4]
                });                
            }

        }        
        
        
        //set levelup   
        private function setupLvup():void{
            lvup.load(urlReqLvup);
            //lvup.loadBytes(urlReqLvup);
            addChild(lvup);
            bitmapData = new BitmapData(100,100,true,0x000000);
            bitmapData.draw(lvup);
            var bitmap:Bitmap = new Bitmap(bitmapData);
            //addChild(bitmap);
            
            
            //bmp = lvup.content as Bitmap;
            //bmp = e.target.content as Bitmap;
 
            var sp:Sprite = new Sprite();
            //addChild(sp);
            //sp.addChild(lvup);
            
        }

    }
}