2013-03-28 23 views
0

我認爲這是相對簡單的,它似乎並沒有爲我工作。我想我正走在正確的軌道上。 這是我有:通過外部XML在AS3中添加圖像

import mx.controls.Image; 

     public var newImage:Image; 

     public var myXML:XML; 
     public var myLoader:URLLoader = new URLLoader(); 

     public function init():void{ 
      myLoader.load(new URLRequest("images.xml")); 
      myLoader.addEventListener(Event.COMPLETE, processXML); 
     } 

     public function processXML(e:Event):void{ 
      myXML = new XML(e.target.data); 
      newImage = new Image(); 
      newImage.source = [email protected]; 
      imgGroup.addElement(newImage); 

     } 

它雖然沒有顯示圖像。有任何想法嗎?

這裏是我的參考XML:

<?xml version="1.0" encoding="utf-8"?> 
<GALLERY COLUMNS="5" XPOSITION="30" YPOSITION="30" WIDTH="100" HEIGHT="100"> 
<IMAGE src="img_data/download.jpg" /> 

</GALLERY> 
+0

僅供參考,今後,你應該使用'[索引]',即使只有一個元素訪問XML對象的每個節點。所以'myXML.IMAGE。@ src'實際上應該是'myXML.IMAGE [0]。@ src'。如果你這樣做的話,它會更快一些(但只有大量的數據纔可以解析),並且使它更加靈活。 –

回答

0

你是在正確的軌道上,但你需要加載圖片之前,你可以使用它們。您可以使用Loader class執行此操作,就像您使用URLLoader class加載XML一樣。

How to Load External Images in Actionscript 3.0

+0

Flex中的Image類已經在設置其「源」屬性時加載圖像。 –

+0

我可以很容易地在flex中完成它,但是我需要從XML加載它。我會做這樣的事嗎? imgLoader.load(myLoader);假設我這樣做了: public var imgLoader:Loader; – user2220653

+0

儘管我沒有使用Flex,但我使用URLLoader(用於XML)和Loader(用於圖像)每天都從XML對象中給定的路徑加載圖像。如果Flex支持AS3(它的確如此),該解決方案應該可以工作。只需檢查'image'節點並在調用'Loader'時使用'src'屬性作爲路徑。 – Atriace