Actionscript 3 AS3 |从URL加载图像并开始拖动问题

Actionscript 3 AS3 |从URL加载图像并开始拖动问题,actionscript-3,actionscript,Actionscript 3,Actionscript,我尝试从URL地址添加图像,并在单击时开始拖动它,但我无法实现拖动功能 var url:String = 'http://www.helpexamples.com/flash/images/image1.jpg'; var urlRequest:URLRequest = new URLRequest(url); var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, l

我尝试从URL地址添加图像,并在单击时开始拖动它,但我无法实现拖动功能

var url:String = 'http://www.helpexamples.com/flash/images/image1.jpg';
var urlRequest:URLRequest = new URLRequest(url);
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_complete);
loader.load(urlRequest);
addChild(loader);

function loader_complete(evt:Event):void {
    var target_mc:Loader = evt.currentTarget.loader as Loader;
    target_mc.x = (stage.stageWidth - target_mc.width) / 2;
    target_mc.y = (stage.stageHeight - target_mc.height) / 2;
    target_mc.addEventListener(MouseEvent.CLICK, startDraging);
}

function startDraging(e:MouseEvent):void {
    var obj:MovieClip = e.target as MovieClip;
    obj.startDrag();
}

这里的问题是,在complete函数
loader\u complete()
中,您将
target\u mc
设置为类型
loader
。装载机无法访问
startDrag()
stopDrag()

您可以做的是创建一个新的
MovieClip
,并将加载的内容添加到该
MovieClip
。因此,在您的
加载程序\u complete()
中:


现在开始拖动应该可以了。

别忘了执行目标的addChild\u mc。我会在答案中加上这个。
function loader_complete(evt:Event):void {
    var target_mc:MovieClip = new MovieClip(); //new movieclip
    target_mc.addChild( evt.target.content ); //add the content

    target_mc.x = (stage.stageWidth - target_mc.width) / 2;
    target_mc.y = (stage.stageHeight - target_mc.height) / 2;
    target_mc.addEventListener(MouseEvent.CLICK, startDraging);
    addChild( target_mc ); //add target_mc
}