スプライトの1つがドラッグ(移動)されているとき、キャンバス上の他のスプライトを循環して、範囲内にあるかどうかを確認し、範囲内にある場合は、背景にグローを設定します。これが私が今それをしている方法です:
//Sprite is made somewhere else
public var circle:Sprite;
//Array of 25 sprites
public var sprites:Array;
public function init():void {
    circle.addEventListener(MouseEvent.MOUSE_DOWN, startDrag);
}
private function startDrag(event:MouseEvent):void {
    stage.addEventListener(MouseEvent.MOUSE_MOVE, glowNearbySprites);
    stage.addEventListener(MouseEvent.MOUSE_UP, stopDrag);
    circle.startDrag();
}
private function stopDrag(event:MouseEvent):void {
    stage.removeEventListener(MouseEvent.MOUSE_MOVE, glowNearbySprites);
    stage.removeEventListener(MouseEvent.MOUSE_UP, stopDrag);
    circle.stopDrag();
}
private function glowNearbySprites(event:MouseEvent):void {
    for (var i = 0; i < sprites.length; i++) {
        var tSprite = sprites.getItemAt(i) as Sprite;
        if (Math.abs(tSprite.x - circle.x) < 30 && 
                   Math.abs(tSprite.y - circle.y) < 30) { 
            tSprite.filters = [new GlowFilter(0xFFFFFF)];
        }
        else {
            tSprite.filters = null;
        }
    }
}
基本的に、MOUSE_MOVEイベントがトリガーされるたびに、各スプライトを循環します。これは問題なく機能しますが、スプライトをドラッグするときのラグはかなり目立ちます。ラグがない、または少ない、より効率的なこれを行う方法はありますか?