Цитата:
|
По вашему, клик на уровне плеера обрабатывается с константной сложностью?
|
Следующий код выдаёт одинаковое время обработки клика как для 10-и, так и для 1 000 000 спрайтов.

Код AS3:
import flash.display.Sprite;
import flash.text.TextField;
import flash.events.MouseEvent;
var sprite:Sprite = new Sprite();
var tf:TextField = new TextField();
var lastTime:Number = 0;
init();
function init():void {
addChild(sprite);
tf.background = true;
addChild(tf);
for (var i = 0; i < 10; i++) {
sprite.addChild(make());
}
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler, true);
sprite.addEventListener(MouseEvent.CLICK, clickhandler);
}
function make():Sprite {
var sprite:Sprite = new Sprite();
sprite.graphics.beginFill(Math.random() * 0xFFFFFF);
sprite.graphics.drawCircle(0, 0, 10);
sprite.graphics.endFill();
sprite.x = Math.random() * 550;
sprite.y = Math.random() * 400;
return sprite;
}
function mouseDownHandler(e:MouseEvent):void {
lastTime = getTimer();
}
function clickhandler(e:MouseEvent):void {
tf.text = (getTimer() - lastTime).toFixed(0);
}