2013-12-12 157 views
0

我在舞臺上有一個按鈕和進度條。我試圖加載一個圖像在閃光燈的同一個文件夾,但它沒有工作。我收到以下錯誤:文件加載時出錯

1119:通過 靜態類型flash.net:URLLoader參考可能未定義的屬性的contentLoaderInfo的訪問。

和:

1067:的DisplayObject:類型flash.net:URLLoader對無關型flash.display使用一個值的隱式強制。

這裏是我的代碼:

import flash.net.URLLoader; 
import flash.net.URLRequest; 
import flash.events.Event; 
import flash.events.MouseEvent; 

var myLoader:URLLoader = new URLLoader(); 

btn_Img.addEventListener(MouseEvent.CLICK, uploadPic); 

function uploadPic(event:MouseEvent):void{ 
    myPb.source = myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoad); 
    myLoader.load(new URLRequest("myImage.png")); 
    btn_Img = null; 
     addChild(myPb); 
     removeChild(myPb); 
} 


function imageLoad(event:Event):void{ 
     addChild(myLoader); 
    btn_Img = null; 
} 

你能教我如何解決這個問題?我嘗試了很多方法,但仍然沒有把握好。

+0

此代碼:myPb.source = myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,imageLoad);有點困惑。想要將偵聽器定義與「myLoader」對象的源屬性綁定? –

回答

0

contentLoaderInfo是Loader類的屬性,而不是URLLoader的屬性。另外,您無法將加載器本身傳遞給addChild--您需要添加加載的內容。最後,addEventListener不返回任何東西,所以myPb是一個無意義的變量。所以,你的代碼應該是這個樣子:

var myLoader:Loader = new Loader(); 

btn_Img.addEventListener(MouseEvent.CLICK, uploadPic); 

function uploadPic(event:MouseEvent):void{ 
    myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoad); 
    myLoader.load(new URLRequest("myImage.png")); 
} 


function imageLoad(event:Event):void{ 
    var loaded_image = BitMap(myLoader.content); // or whatever type the load is 
    addChild(loaded_image); 
} 

請注意,你不檢查的負擔,你可能要添加的以及錯誤。

有關更多詳細信息,請參閱關於LoaderLoaderInfo的土坯幫助。