forked from: forked from: 2010-03-17_1

by Kaede forked from forked from: 2010-03-17_1 (diff: 24)
♥0 | Line 48 | Modified 2010-03-17 01:02:08 | MIT License
play

ActionScript3 source code

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

// forked from Kaede's forked from: 2010-03-17_1
// forked from Kaede's 2010-03-17_1
package {
	import flash.text.TextField;
	import flash.display.BitmapData;
	import flash.geom.Matrix;
    import flash.display.Sprite;
    import flash.display.Bitmap;
    import flash.geom.Rectangle;
	import flash.geom.Point;
    import flash.utils.getTimer;
    public class FlashTest extends Sprite {
    	
    		private var n:int = 1000;
    		private var strs:Array = ["a","b","c","d","e","f","g","h"];
        public function FlashTest() {
            var nt:int = getTimer();

			example();
			
			var result:int = getTimer()-nt;

			var reTf:TextField = addChild(new TextField) as TextField;
			reTf.text = "resultTime = "+(result).toString()
			reTf.y = 425
			
        }
        
        //使用するデータをひとつのBitmapDataにプリレンダリングしておき、
        //別のBitmapDataにcopyPixelsで転写
        private function example():void{
			var length:int = strs.length;
			var tf:TextField = new TextField();
			tf.autoSize = "left";
			var bd:BitmapData = new BitmapData(80,20,false);
			var mtx:Matrix = new Matrix();
			var i:int;
			while(i < length){
				tf.text = strs[i];
				mtx.tx = 10*i;
				bd.draw(tf,mtx);
				i++;
			}
			var bd2:BitmapData = new BitmapData(500,400,false);
			var pt:Point = new Point(0,0);
			var rect:Rectangle = new Rectangle(0,0,10,20)
			i=0;
			while(i<n){
				pt.x=10*(i%50);
				pt.y=20*Math.floor(i/50);
				rect.x = Math.floor(Math.random()*length)*10;
				bd2.copyPixels(bd,rect,pt)
				i++;
			}
			addChild(new Bitmap(bd2));
        }
    }
}

Forked