import mx.core.DragSource;
import mx.events.DragEvent;
import mx.managers.DragManager;
private function mouseDownHandler( evt:MouseEvent ):void
{
var initiator:Box = evt.currentTarget as Box;
var boxData:Object = new Object();
boxData.width = 30;
boxData.height= 40;
boxData.backgroundColor = "Red";
var dragSource:DragSource = new DragSource();
dragSource.addData( boxData, "box" );
DragManager.doDrag( initiator, dragSource, evt );
}
private function dragEnterHandler( evt:DragEvent ):void
{
if( evt.dragSource.hasFormat( "box" ) )
{
DragManager.acceptDragDrop( Canvas( evt.currentTarget ) );
}
}
private function dropHandler( evt:DragEvent ):void
{
var boxData:Object = evt.dragSource.dataForFormat( "box" );
var box:Box = new Box();
box.width = 40;
box.height = 30;
box.setStyle( "backgroundColor", "Yellow");
box.x = evt.localX;
box.y = evt.localY;
canvas.addChild( box );
}
dragEnter="dragEnterHandler(event);"
dragDrop="dropHandler(event);">
mouseDown="mouseDownHandler(event);"/>