[練習]pixelDissolveを使ってのBitmap間のつなぎ

by Tamanegi_kenshi
♥0 | Line 68 | Modified 2010-08-12 22:57:22 | MIT License | (replaced)
play

ActionScript3 source code

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

package {
    import flash.geom.Point;
    import flash.display.Sprite;
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.geom.Rectangle;
    import flash.events.*;
    import flash.system.Security;
    import flash.display.Loader;
    import flash.net.URLRequest;
    
    public class FlashTest extends Sprite {
        private var d:int = 0;
        private var bd:BitmapData;
        private var source1:BitmapData;
        private var source2:BitmapData;
        private var rect:Rectangle;
        private var point:Point;
        private var file:String = "http://assets.wonderfl.net/images/related_images/3/37/37f5/37f5f9a17dfa799dadba38e45e568d4da9b4ee23";
        private var flie2:String = "http://assets.wonderfl.net/images/related_images/4/46/46b4/46b43fe6e70bed538a247d1cbde929be12baac9e";
        private var load2:Loader;
        private var content:Bitmap;
        private var content2:Bitmap;
        private var bmp:Bitmap;
        private var num:int = 5;
        private var dx:int = 1;
        private var dy:int = 1;
        private var rand:int = 0;
        private var rand2:int = 0;
        private var isGazo:String = "hiyoko";
        
        public function FlashTest() {
            init();
        }//FlashTest
        
        private function init():void{
            Security.allowDomain("assets.wonderfl.net");
            Security.loadPolicyFile("http://assets.wonderfl.net/crossdomain.xml");
            
            var load:Loader = new Loader();
            var url:URLRequest = new URLRequest(file);
            load.load(url);
            load.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
            
            load2 = new Loader();
            var url2:URLRequest = new URLRequest(flie2);
            load2.load(url2);
            load2.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete2);
            
            
            
        }
        
       

        
        private function onComplete2(event:Event):void{
            content2 = event.target.content;
            source2 = new BitmapData(content2.width, 300, false, 0x000000);
            source2.draw(content2);
        }


        private function onComplete(event:Event):void{
            content = event.target.content;
 
            bd = new BitmapData(content.width, 300, false, 0xffffff);
            source1 = new BitmapData(content.width, 300, false, 0x000000);
            source1.draw(content);
            
            
           
            rect = new Rectangle(0, 0, 300, 300);
            point = new Point(0, 0);
           
          
            
            bmp = new Bitmap(source1);
            stage.addChild(bmp);
            
           stage.addEventListener(MouseEvent.CLICK, onClick);
           
                   
        }//init
        
         private function onClick(event:MouseEvent):void{
            //if(isGazo == "hiyoko"){
                 stage.addEventListener(Event.ENTER_FRAME, onEnter);
            //     isGazo = "sakana";
            //} else if(isGazo == "sakana"){
            //   stage.removeEventListener(Event.ENTER_FRAME, onEnter);
            //     stage.addEventListener(Event.ENTER_FRAME, onEnter2);
            //    isGazo = "hiyoko";
           // }//if


            
        }//onClick
        
       // private function onEnter2(event:Event):void{
            
       //     rand2 = source2.pixelDissolve(source1, rect, point, rand, 1000);
       // }

        
        private function onEnter(event:Event):void{
            
            rand = source1.pixelDissolve(source2, rect, point, rand, 2000);
            
            
            
            /* d += num;
                if(d >= 255 || d <=0){
                    num *= -1;
                }//if

                bd.copyPixels(source1, rect, point);
                bd.merge(source2, rect, point, d, d, d, 1);
                
                bmp.x += dx;
                if(bmp.x > stage.stageWidth - bmp.width || bmp.x < 0){
                    dx *= -1;
                }
                bmp.y += dy;
                if(bmp.y > stage.stageHeight - bmp.height || bmp.y < 0){
                    dy *= -1;
                }
             */                   
        }//onEnter


    }//class
}//package