The reason is simple, drag and drop could be a lot more complicated then it seems to be, most of the time startDrag()/stopDrag() is just too simple, directly handle the mouse down/move/up event gives you the most flexibility.
> point = > > DisplayObject(dragInitiator.systemManager.topLevelSystemManager).globalToLocal(point); > > var mouseX:Number = point.x; > > var mouseY:Number = point.y; > > x = mouseX - xOffset; > > y = mouseY - yOffset; > > This just begs the question, why??? Why go through all that instead of > > just using the startDrag that is a core method of the Sprite class? > > Just to offset the DragProxy slightly from the mouse pointer? I don't > > get it, why bloat (in my opinion) the code. From my understanding > > classes and methods that are actually compiled into the flash plugin > > (ie the flash.* package) run faster than those that are not (ie. the > > mx.* package). I don't understand why all the extra code is required > > to accomplish something the plugin already has the ability to do. >

