flash on 2010-3-11

by dotton
ステージ上の描画をビットマップ化して、徐々に消えていく練習
♥0 | Line 41 | Modified 2010-03-26 19:12:26 | MIT License
play

ActionScript3 source code

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

/*
ステージ上の描画をビットマップ化して、徐々に消えていく練習
*/

package {
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.display.Graphics;
    import flash.display.BitmapData;
    import flash.display.Bitmap;
    import flash.filters.GradientBevelFilter;
    import flash.filters.*;
    import flash.geom.Point;
    
    public class FlashTest extends Sprite {
        private var _bmd:BitmapData;
        private var _sp:Sprite;
        private var _container:Sprite;
        private var _filter:GradientBevelFilter;
                
        //private var bmd:BitmapData;
        //private var bm:Bitmap;
        
        public function FlashTest() {
            // write as3 code here..
            _filter =new GradientBevelFilter();
            _filter.distance = 12;
            _filter.angle =225;
            _filter.colors = [0x000000, 0x000000, 0x000000, 0x000000, 0x000000];
            _filter.alphas =[1, 1, .01, 1, 1];
            _filter.ratios = [0, 16, 128, 240, 255];
            
            _bmd = new BitmapData(stage.stageWidth, stage.stageHeight, true);
            
            _container = new Sprite();
            _sp = new Sprite();
            var gr:Graphics = _sp.graphics
        		gr.beginFill(0x007755);
        		gr.drawCircle(0, 0, 10);
        		gr.endFill();
        		addChild(new Bitmap(_bmd));
        		
        		_container.addChild(_sp);
        		//addChild(_container);
        		
            addEventListener(Event.ENTER_FRAME, enterFrameHandler);
        
        }
        public function enterFrameHandler(e:Event):void{
        		_sp.x = mouseX;
        		_sp.y = mouseY;
        		_bmd.draw(_container);
        		_bmd.applyFilter(_bmd, _bmd.rect, new Point(), _filter);
        }
        
    }
}