forked from: forked from: 2010-03-17_1
forked from forked from: 2010-03-17_1 (diff: 24)
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));
}
}
}
