论坛首页 编程语言技术论坛

Bitmap特效-美女被风吹散

浏览 6091 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-01-17  
package

{

        import flash.display.Bitmap;

        import flash.display.BitmapData;

        import flash.display.MovieClip;

        import flash.display.Sprite;

        import flash.events.Event;

        import flash.filters.BlurFilter;

        import flash.geom.Point;

        import flash.geom.Rectangle;

       

        /**

         * ...

         * @author flashk

         */

        public class Min extends Sprite

        {

                public var a_mc:MovieClip;

               

                private var bd:BitmapData;

                private var bds:BitmapData;

                private var ps:Array;

               

                public function Min() {

                        bd = new BitmapData(1420, 300, true);

                        bds = new BitmapData(a_mc.width, a_mc.height, true);

                        bds.draw(a_mc);

                        var bp:Bitmap = new Bitmap();

                        bp.bitmapData = bd;

                        this.addChild(bp);

                        start();

                }

                private function start():void {                       

                        ps = new Array();

                        for (var i:int = 1; i <= bds.width; i++) {

                                for (var j:int = 1; j <= bds.height; j++) {

                                        ps.push(new Po(i, j, bds.getPixel32(i, j),bds.width));

                                }

                        }

                        this.addEventListener(Event.ENTER_FRAME, render);

                        this.removeChild(a_mc);

                }

                private function render(event:Event):void {

                        var po;

                        //bd.fillRect(new Rectangle(0, 0, bd.width, bd.height), 0);

                        bd.applyFilter(bd, new Rectangle(0, 0, bd.width, bd.height), new Point(0, 0), new BlurFilter(2, 2, 1));

                        bd.lock();

                        var len = ps.length;

                        for (var i:int = 0 ; i < len; i+=1) {

                                po = ps[i];

                                po.move();

                                bd.setPixel32(po.x, po.y+80, po.color);

                        }

                        bd.unlock();

                }

        }

       

}

class Po {

        public var x:Number;

        public var y:Number;

        public var color:uint;

        private var speed:Number;

        private var r:Number = 0;

        private var by:Number;

       

        public function Po(x:Number, y:Number, color:uint,w:Number) {

                this.x = x;

                this.y = y;

                this.color = color;

                this.speed = Math.random() * 10 - (w - x) / 2;

                //r = Math.random() * 50;

                this.by = y;

        }

        public function move():void {

                speed += 0.5;

                if(speed>0){

                        this.x += speed;

                        r += 10;

                        this.y = this.by + Math.sin(r* Math.PI/180)*50;

                }

        }

}
   发表时间:2011-01-20  
这! 也没个什么demo, 或是截图什么的,叫人怎么看呢?
我是冲着 "美女" 来得, 呵呵
0 请登录后投票
   发表时间:2011-02-14  
无图无真相!
0 请登录后投票
   发表时间:2011-02-21  
lz,你妈妈喊你上图啦
0 请登录后投票
   发表时间:2011-12-24  
这能说是标题党么?
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics