actionscript 3 - script - AS3 | Cargar imagen de URL e iniciar el problema de arrastre
como programar botones en flash cs6 (1)
El problema aquí es que en su función completa loader_complete()
establece target_mc
en un tipo Loader
. Los cargadores no tienen acceso a startDrag()
o stopDrag()
.
Lo que puede hacer es crear un nuevo MovieClip
y agregar su contenido cargado a ese MovieClip
. Entonces en tu loader_complete()
:
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
}
Ahora tu arrastre inicial debería funcionar.
Intento agregar una imagen desde la dirección URL y comenzar a arrastrarla cuando hago clic en ella, pero no puedo hacer la función de arrastre.
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();
}