You may want to cache delta, as putting it in a var this way instantiates a new point every tick. This can lead to hundreds of thousands of Point instantiations. Something like:

    private static var _cachedDelta:Point;
    ...
    _cachedDelta = player.p.subtract(p);