0
我寫了下面的輔導員,我看到這裏 這個代碼,其主要目的是從XML導入圖像到主舞臺,然後和他們一起玩的「拖放功能」UILoader不作爲MovieClip拖放;你怎麼能做出的UILoader表現得像影片剪輯
當我打開它,一切都很好, 但是當我的圖片點擊查看「拖放功能」 我得到這個消息
TypeError: Error #1034: Type Coercion failed: cannot convert fl.containers::[email protected] to flash.display.MovieClip.
at forgallery_fla::MainTimeline/item_onMouseDown()
TypeError: Error #1034: Type Coercion failed: cannot convert fl.containers::[email protected] to flash.display.MovieClip.
at forgallery_fla::MainTimeline/item_onMouseUp()
如何來解決這個問題,使UILoader在UILoader的
import fl.containers.UILoader;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
var count:Number = 0;
//Requires:
// UILoader control in Library
var xmlLoader:URLLoader= new URLLoader();
var myXML:XML = new XML ;
var uiLoader:UILoader= new UILoader();
xmlLoader.addEventListener(Event.COMPLETE, loadXML);
xmlLoader.load(new URLRequest("Gallery.xml"));
function loadXML(e:Event):void
{
myXML = new XML(e.target.data);
trace(myXML)
for(var i:int = 0; i <2; i++)
{
root["pic"+i].source = myXML.pic[i];
}
}
var dragArray:Array = [pic0, pic1];
for(var i:int = 0; i < dragArray.length; i++)
{
dragArray[i].buttonMode = true;
dragArray[i].addEventListener(MouseEvent.MOUSE_DOWN, item_onMouseDown);
dragArray[i].addEventListener(MouseEvent.MOUSE_UP, item_onMouseUp);
}
function item_onMouseDown(event:MouseEvent):void {
var clip:MovieClip = MovieClip(event.currentTarget);
addChild(clip); //bring to the front
clip.startDrag();
}
function item_onMouseUp(event:MouseEvent):void {
var clip:MovieClip = MovieClip(event.currentTarget);
clip.stopDrag();
}
的XML樹
<?xml version="1.0" encoding="UTF-8"?>
<Gallery height="300" width="300" >
<pic>p1.jpg</pic>
<pic>p2.jpg</pic>
<pic>p3.jpg</pic>
</Gallery>