2014-03-05 2 views
2

URL 주소에서 이미지를 추가하고 클릭 할 때 드래그를 시작하지만 드래그 기능을 사용할 수 없습니다. 여기AS3 | 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(); 
} 

답변

3

문제는 완전한 기능 loader_complete() 당신이 유형 Loadertarget_mc을 설정한다는 것입니다. 로더는 startDrag() 또는 stopDrag()에 액세스 할 수 없습니다.

당신이 할 수있는 일은 새로운 MovieClip을 만들고로드 된 콘텐츠를 MovieClip에 추가하는 것입니다. 따라서 당신의 :

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 
} 

이제 드래그를 시작해야합니다.

+0

이미지가 표시되지 않음 – Some1

+0

target_mc의 addChild를 잊지 마세요. 나는 그것을 대답에 추가 할 것이다. –

+0

http://puu.sh/7kbeZ.png -이 코드는 사용해 보았습니다. – Some1