zoukankan      html  css  js  c++  java
  • 像素融解

    import flash.display.BitmapData;
    import flash.display.Bitmap;
    import flash.geom.Point;
    import flash.geom.Rectangle;
    import flash.utils.Timer;
    import flash.events.TimerEvent;
    
    var rndColor: int = Math.random() * 0xffffffff; //随机背景色
    var fillColor: int = Math.random() * 0xffffffff; //随机填充色
    
    var bmd: BitmapData = new BitmapData(100,
    	100,
    	false,
    	rndColor);
    var bitmap: Bitmap = new Bitmap(bmd);
    addChild(bitmap);
    
    bitmap.scaleX = bitmap.scaleY = 1.5;
    bitmap.x = stage.stageWidth / 2 -
    	bitmap.width / 2;
    bitmap.y = stage.stageHeight / 2 -
    	bitmap.height / 2;
    
    var tim: Timer = new Timer(20);
    tim.start();
    tim.addEventListener(TimerEvent.TIMER,
    	timerHandler);
    
    function timerHandler(event: TimerEvent): void {
    	var randomNum: Number = Math.floor(Math.random() * int.MAX_VALUE);
    	dissolve(randomNum);
    }
    
    function dissolve(randomNum: Number): void {
    	var rect: Rectangle = bmd.rect;
    	var pt: Point = new Point(0,
    		0);
    	var numberOfPixels: uint = 100; //每次融解100个像素   
    	bmd.pixelDissolve(bmd,
    		rect, pt, randomNum, numberOfPixels, fillColor);
    	var grayRegion: Rectangle = bmd.getColorBoundsRect(0xFFFFFFFF,
    		rndColor, true);
    
    	if (grayRegion.width == 0 &&
    		grayRegion.height == 0) {
    		bmd.dispose();
    		rndColor = Math.random() * 0xffffffff;
    		fillColor = Math.random() * 0xffffff;
    		bmd = new BitmapData(100,
    			100,
    			false,
    			rndColor);
    		bitmap.bitmapData = bmd;
    
    		//tim.stop();
    	}
    }
    

      

  • 相关阅读:
    【欧拉质数筛选法 模版】
    【归并排序 逆序对 模版】
    【 lca倍增模板】
    【LSGDOJ 1333】任务安排 dp
    【NOIP2013】火柴排队
    【USACO Feb 2014】Cow Decathlon
    【USACO08NOV】奶牛混合起来Mixed Up Cows
    【LSGDOJ 1351】关灯
    【USACO】干草金字塔
    【USACO】电子游戏 有条件的背包
  • 原文地址:https://www.cnblogs.com/dt1991/p/12524611.html
Copyright © 2011-2022 走看看