2015-10-25 67 views
0

嗨,我想創建一個動態的小圖片使用gg類。當我點擊較小的一個時,我想獲得一個大的圖片。 但我不知道如何讓 這裏的問題是代碼As3號碼和陣列

var box:Box = new Box(); 
    addChild(box); 

    var myXml:XML; 
    var yp:Number = 50; 

    var xmlLoader:URLLoader = new URLLoader(); 
    xmlLoader.load(new URLRequest ("filXml.xml")); 
    xmlLoader.addEventListener(Event.COMPLETE,readXml); 
+1

也許你最好與我們分享你的XML文件的內容?! – akmozo

+0

我第二次發表評論,我們需要看到你的xml文件的樣本。 – SushiHangover

+0

嗨:我添加了xml代碼 – Rhoulre

回答

0

在你的XML,you'v使用不同的屬性名稱爲您的「大」的畫面,這是不推薦使用。你必須使用它生活在同一個父元素所有的XML行相同的屬性,所以你可以這樣做,例如:

<pictures> 
    <picture small="pic1.jpg" big="Bpic1.jpg"></picture> 
    <picture small="pic2.jpg" big="Bpic2.jpg"></picture> 
    <picture small="pic3.jpg" big="Bpic3.jpg"></picture> 
    <picture small="pic4.jpg" big="Bpic4.jpg"></picture> 
    <picture small="pic5.jpg" big="Bpic5.jpg"></picture> 
    <picture small="pic6.jpg" big="Bpic6.jpg"></picture> 
    <picture small="pic7.jpg" big="Bpic7.jpg"></picture> 
    <picture small="pic8.jpg" big="Bpic8.jpg"></picture> 
</pictures> 
在ActionScript代碼

然後,您可以使用,例如,一個用於存儲大圖片名稱的數組,並將小圖片索引存儲在其Loader對象的name屬性中,然後當它被按下時,您只需從大圖片數組中選擇大圖片。

var big_pictures:Array = []; 

function readXml(e:Event):void 
{ 
    xml = new XML(e.target.data); 

    for (var i:int = 0; i < xml.picture.length(); i++) 
    { 
     var xml_line:XML = xml.picture[i]; 

     // store big pictures names 
     big_pictures.push([email protected]); 

     var loader:UILoader = new UILoader(); 
      loader.name = String(i); 

      // ... 

      loader.addEventListener(MouseEvent.CLICK, showBigPic);    
     addChild(loader); 
    }  
} 

function showBigPic (e:MouseEvent):void 
{ 
    trace(big_pictures[int(e.currentTarget.name)]); 
} 

希望能有所幫助。