負荷テスト
/**
* Copyright taromisako ( http://wonderfl.net/user/taromisako )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/ruRc
*/
// forked from 9re's 円を動かす
package {
import flash.display.*;
import flash.events.Event;
import net.hires.debug.Stats;
[SWF(frameRate="60", width="465", height="465")]
public class MyFirstAnimation extends Sprite {
private var _circle:Circle;
private var circles:Array = new Array();
// オブジェクトの数
private var num:int = 1000;
public function MyFirstAnimation() {
for(var i:int=0; i<num; i++) {
circles[i] = new Circle(10);
circles[i].init();
stage.addChild(circles[i]);
}
// Statsを表示
addChild(new Stats());
// 1フレーム毎に実行する処理にenterFrameHandlerを追加する
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
// フレーム毎に行われる処理 [25行目で登録される]
private function enterFrameHandler(e:Event):void {
for(var i:int=0; i<num; i++) {
circles[i].move();
}
}
}
}
import flash.display.Sprite;
class Circle extends Sprite {
public var vy:Number;
public var radius:Number;
// コンストラクタ
public function Circle(_radius:Number) {
// 塗り_fillColor, 半径_radiusの円
graphics.beginFill(0x000000);
graphics.drawCircle(0, 0, _radius);
graphics.endFill();
// 半径の大きさをパブリックな変数に保存しておく
radius = _radius
}
// 位置の初期化
public function init():void {
vy = Math.ceil(Math.random() * 20);
x = Math.floor(Math.random() * 465);
y = 0;
alpha = 0.2;
}
// 1フレーム分の動き
public function move():void {
y += vy;
if((x > 465) || (y > 465)) {
init();
}
}
}