2009-12-08 18 views
1

我在ActionScript 3中完成了相同的操作,但不熟悉ActionScript 2,我不得不使用該項目。我通過XML將產品加載到SWF中,並嘗試向每個動態創建的動畫片段添加單擊事件。只需從XML中的節點中追蹤文本就可以了。我想爲每個動畫片段分配一個名爲「desc」或「description」的屬性,並讓它在單擊時跟蹤該屬性的值。以下是我代碼的相關部分:將函數分配給循環中的動態影片剪輯,ActionScript 2

var iXML:XML = new XML(); 
    iXML.ignoreWhite = true; 
    iXML.onLoad = init; 
    iXML.load("http://localhost:8888/products.php?p=Shortboards"); 



function init():Void 
{ 
    var imgNum:Number = iXML.firstChild.childNodes.length; 
    var holder_mc:MovieClip = slider.createEmptyMovieClip("holder_mc", slider.getNextHighestDepth()); 

    for (var i:Number = 0; i < imgNum; i++) 
    { 
     var ob:Object = new Object(); 
     ob.id = i; 
     ob.mc = holder_mc.createEmptyMovieClip("img" + ob.id + "_mc", holder_mc.getNextHighestDepth()); 
     ob.mc._x = (137 * ob.id); 
     ob.mc.loadMovie(iXML.firstChild.childNodes[i].attributes.src); 
    } 

    for(var i in holder_mc){ 
    trace('key: ' + i + ', value: ' + holder_mc[i]); 
    holder_mc[i].description = (iXML.firstChild.childNodes[i].attributes.desc); 
    holder_mc[i].onRelease = function() { 
     trace (this.description); 
    } 
    } 
} 

回答

0
var iXML:XML = new XML(); 
iXML.ignoreWhite = true; 
iXML.onLoad = init; 
iXML.load("http://localhost:8888/products.php?p=Shortboards"); 
function init():Void {  
    var imgNum:Number = iXML.firstChild.childNodes.length;  
    var holder_mc:MovieClip = slider.createEmptyMovieClip("holder_mc", slider.getNextHighestDepth());  
    for (var i:Number = 0; i < imgNum; i++)  {   
     var ob:Object = new Object();   
     ob.id = i;   
     ob.mc = holder_mc.createEmptyMovieClip("img" + ob.id + "_mc", holder_mc.getNextHighestDepth()); 
     ob.img = ob.mc.createEmptyMovieClip("img_mc", 1); 
     ob.mc._x = (137 * ob.id);   
     ob.img.loadMovie(iXML.firstChild.childNodes[i].attributes.src);  
    } 
    var x:Number = 0;   
     for(var i in holder_mc){   
      trace('key: ' + i + ', value: ' + holder_mc[i]);   
      holder_mc[i].description = (iXML.firstChild.childNodes[x++].attributes.desc);   
      holder_mc[i].onRelease = function() {    
       trace (this.description);   
      } 
     } 
} 
相關問題