详细代码:
- 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;
- }
- }
-
}
源文件和swf下载 s2demo.rar :
再来玩个加鼠标控制的,美女被风吹散...
- 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.filters.ColorMatrixFilter;
- import flash.geom.ColorTransform;
- 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;
- private var ns:uint;
- private var checks:Array;
- private var noise:BitmapData;
- priv
|