Actionscript 3 AS3 |从URL加载图像并开始拖动问题
我尝试从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
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
}