※現在、「wonderfl build flash online」求人コンテンツ制作に関してのアンケートを実施中です!みなさまのお力添えを頂いて、続々とアンケート結果が集まっていますが、まだまだ募集しております。ご協力のほど、どうぞよろしくお願いいたします!
wonderfl運営事務局
→アンケートページ(※ログインしてからお答えいただけるようになっています。)
速度実験
Array.RETURNINDEXEDARRAYってどうよ?(Vector.sortも追加した) Point.distance
- // [実験] Point.distance
- package {
- import flash.display.*;
- import flash.geom.Point;
- import flash.text.*;
- import flash.utils.*;
- public class Main extends Sprite
- {
- public function Main():void
- {
- var n:uint = 10000;
- var points:Array = new Array(n);
- for(var i:uint = 0; i < n; ++i)
- {
- points[i] = new Point(
- (Math.random() - 0.5) * 1000,
- (Math.random() - 0.5) * 1000
- );
- }
- _setup();
- _measure("Point.distance", function ():void
- {
- for(var i:uint = 0; i < n - 1; ++i)
- {
- Point.distance(points[i], points[i + 1]);
- }
- }, 100);
- var dx:Number, dy:Number, p0:Point, p1:Point;
- _measure("Math.sqrt(x^2 + y^2)", function ():void
- {
- for(var i:uint = 0; i < n - 1; ++i)
- {
- p0 = points[i ];
- p1 = points[i + 1];
- dx = p0.x - p1.x;
- dy = p0.y - p1.y;
- Math.sqrt(dx * dx + dy * dy);
- }
- }, 100);
- }
- private function _measure(
- title:String, func:Function, numTimes:uint, ...params):void
- {
- _time = getTimer();
- for (var i:int = 0; i < numTimes; i++) {
- func.apply(null, params);
- }
- _time = getTimer() - _time;
- _debug("[ " + title + " ] --> " + _time + " ms");
- }
- private function _debug(log:String):void
- {
- _field.appendText(log + "\n");
- }
- private var _field:TextField;
- private var _time:uint;
- private function _setup():void
- {
- _field = new TextField();
- _field.width = stage.stageWidth;
- _field.height = stage.stageHeight;
- var format:TextFormat = _field.defaultTextFormat;
- format.font = "_sans";
- _field.defaultTextFormat = format;
- addChild(_field);
- }
- }
- }
notice:



