2013-05-29 21 views
1

我似乎無法找到符合我需求的任何線索,所以如果在其他地方回答了這個問題,請指示我。Flash AS3文本=錯誤#2124:導入XML時,加載的文件是未知類型?

當前拉我的頭髮,不應該發生的錯誤。我正在製作一個flash網站,其中包含一個XML庫,就像我之前在許多項目中完成的那樣(like this one)。當我加載XML文件,但是,我得到以下錯誤:

Error #2044: Unhandled IOErrorEvent:. text=Error #2124: Loaded file is an unknown type. 

這就是在這個項目以前的不同是我做這一切在文檔類的編碼,但到目前爲止,這不是招的唯一的事情根本不是問題。我真的很困惑,爲什麼Flash不喜歡XML文件,我認爲還有其他的東西讓這個錯誤出現,或者我沒有導入一些東西,而不是Flash從字面上不識別文件類型。

下面是相關代碼:

public function pg3_setup():void 
    { 
     trace("Page 3 setup in progress..."); 
     p3_gallery_loader.load(new URLRequest("flash_scripts/gallery.xml")); 
     p3_gallery_loader.addEventListener(Event.COMPLETE,process_gallery); 

     function process_gallery(e:Event):void 
     { 
      trace("Gallery loaded"); 
      var gallery_xml:XML = new XML(e.target.data); 
      image_list = gallery_xml.IMAGE; 
      number_of_images = image_list.length(); 
      container_mask_width = bg.width - p_pad_left - p_pad_right; 
      create_container(); 
      load_thumbs(); 
     } 
    } 

我從來沒有到process_gallery功能,所以「裝庫」從不跟蹤。任何關於這個(可能是非常明顯的)問題的幫助都會很棒!

更新:應該可能還包括有問題的XML,儘管據我所知它和我用於這類事情的其他每個XML文件都是一樣的。

<?xml version="1.0" encoding="utf-8"?> 
<GALLERY ROWS="1" WIDTH="25" HEIGHT="25"> 
<IMAGE FULL="full_images/I01.jpg" THUMB="thumbs/TI01.jpg" DES="PICTURE_1"/> 
<IMAGE FULL="full_images/I02.jpg" THUMB="thumbs/TI02.jpg" DES="PICTURE_2"/> 
<IMAGE FULL="full_images/I03.jpg" THUMB="thumbs/TI03.jpg" DES="PICTURE_3"/> 
<IMAGE FULL="full_images/I04.jpg" THUMB="thumbs/TI04.jpg" DES="PICTURE_4"/> 
<IMAGE FULL="full_images/I05.jpg" THUMB="thumbs/TI05.jpg" DES="PICTURE_5"/> 
<IMAGE FULL="full_images/I06.jpg" THUMB="thumbs/TI06.jpg" DES="PICTURE_6"/> 
<IMAGE FULL="full_images/I07.jpg" THUMB="thumbs/TI07.jpg" DES="PICTURE_7"/> 
<IMAGE FULL="full_images/I08.jpg" THUMB="thumbs/TI08.jpg" DES="PICTURE_8"/> 
<IMAGE FULL="full_images/I09.jpg" THUMB="thumbs/TI09.jpg" DES="PICTURE_9"/> 
<IMAGE FULL="full_images/I10.jpg" THUMB="thumbs/TI10.jpg" DES="PICTURE_10"/> 
<IMAGE FULL="full_images/I11.jpg" THUMB="thumbs/TI11.jpg" DES="PICTURE_11"/> 
<IMAGE FULL="full_images/I12.jpg" THUMB="thumbs/TI12.jpg" DES="PICTURE_12"/> 
<IMAGE FULL="full_images/I13.jpg" THUMB="thumbs/TI13.jpg" DES="PICTURE_13"/> 
<IMAGE FULL="full_images/I14.jpg" THUMB="thumbs/TI14.jpg" DES="PICTURE_14"/> 
<IMAGE FULL="full_images/I15.jpg" THUMB="thumbs/TI15.jpg" DES="PICTURE_15"/> 
<IMAGE FULL="full_images/I16.jpg" THUMB="thumbs/TI16.jpg" DES="PICTURE_16"/> 
<IMAGE FULL="full_images/I17.jpg" THUMB="thumbs/TI17.jpg" DES="PICTURE_17"/> 
<IMAGE FULL="full_images/I18.jpg" THUMB="thumbs/TI18.jpg" DES="PICTURE_18"/> 
<IMAGE FULL="full_images/I19.jpg" THUMB="thumbs/TI19.jpg" DES="PICTURE_19"/> 
<IMAGE FULL="full_images/I20.jpg" THUMB="thumbs/TI20.jpg" DES="PICTURE_20"/> 
<IMAGE FULL="full_images/I21.jpg" THUMB="thumbs/TI21.jpg" DES="PICTURE_21"/> 
<IMAGE FULL="full_images/I22.jpg" THUMB="thumbs/TI22.jpg" DES="PICTURE_22"/> 
<IMAGE FULL="full_images/I23.jpg" THUMB="thumbs/TI23.jpg" DES="PICTURE_23"/> 
<IMAGE FULL="full_images/I24.jpg" THUMB="thumbs/TI24.jpg" DES="PICTURE_24"/> 
<IMAGE FULL="full_images/I25.jpg" THUMB="thumbs/TI25.jpg" DES="PICTURE_25"/> 
<IMAGE FULL="full_images/I26.jpg" THUMB="thumbs/TI26.jpg" DES="PICTURE_26"/> 
<IMAGE FULL="full_images/I27.jpg" THUMB="thumbs/TI27.jpg" DES="PICTURE_27"/> 
<IMAGE FULL="full_images/I28.jpg" THUMB="thumbs/TI28.jpg" DES="PICTURE_28"/> 
<IMAGE FULL="full_images/I29.jpg" THUMB="thumbs/TI29.jpg" DES="PICTURE_29"/> 
<IMAGE FULL="full_images/I30.jpg" THUMB="thumbs/TI30.jpg" DES="PICTURE_30"/> 
<IMAGE FULL="full_images/I31.jpg" THUMB="thumbs/TI31.jpg" DES="PICTURE_31"/> 
<IMAGE FULL="full_images/I32.jpg" THUMB="thumbs/TI32.jpg" DES="PICTURE_32"/> 
</GALLERY> 

回答

6

沒有看到全部的代碼,我不能肯定,但我的猜測是,你p3_gallery_loader對象是Loader類時,它應該是一個URLLoader類。

此外,在調用load方法之前,最好添加事件偵聽器。在附加偵聽器之前,有可能會發生完整的事件。

再一注意:爲避免收到Unhandled IOErrorEvent錯誤,您應該添加一個事件偵聽器來處理此錯誤。否則,如果用戶碰巧安裝了Flash調試播放器,用戶將會看到一個難看的彈出窗口。

更新的代碼塊:

p3_gallery_loader.addEventListener(IOErrorEvent.IO_ERROR, onError); 
p3_gallery_loader.addEventListener(Event.COMPLETE,process_gallery); 
p3_gallery_loader.load(new URLRequest("flash_scripts/gallery.xml")); 
+0

在我看到你的帖子之前,我剛剛發佈了相同的答案!你是對的,我犯了這樣一個明顯簡單的錯誤,並沒有使用URLLoader。謝謝你的幫助! –

+0

沒問題。我喜歡你的答案。但是,這是一個常見的錯誤。 – Corey

0

我是一個巨大的白癡。意外地將加載器(p3_gallery_loader)作爲加載器變量而不是URLLoader。現在好了。我真的希望沒有人看到這一點。

相關問題