2010-03-03 59 views
1

我正在研究一个简单的传送带。Flash actionscript 2.0 XML解析适用于某些节点,而不是其他节点

当我尝试在我的工具提示子元素中将节点值作为文本插入时,我的问题就出现了。 这里是我的xml:

<promotions>   
     <promotion> 
      <visuel>/papyrus/8a8b8d2e26fa35b60126faf90a4d002f-20100223141718.gif</visuel> 
      <remise>55</remise> 

      <libelle>produit 1</libelle> 
      <description>contenu test 1</description> 
      <dateDebut>22/02/2010</dateDebut> 
      <dateFin>10/03/2010</dateFin> 
     </promotion> 

     <promotion> 
      <visuel>/papyrus/8a8b8d2e26fa35b60126faf9a2f30032-20100223141750.gif</visuel> 

      <remise>15</remise> 
      <libelle>Pneus</libelle> 
      <description>Promo sur les pneus</description> 
      <dateDebut>01/03/2010</dateDebut> 
      <dateFin>01/05/2010</dateFin> 
     </promotion> 


     <promotion> 
      <visuel>/papyrus/8a8b8d2e26fa35b60126fafa1fa5003a-20100223141955.gif</visuel> 
      <remise>7</remise> 
      <libelle>produit 1</libelle> 
      <description>Test promo 1</description> 
      <dateDebut>10/01/2010</dateDebut> 
      <dateFin>10/03/2010</dateFin> 
     </promotion>   
</promotions> 

而这里的AS 2.0在那里的假设被加载和正确的moviclip和文本插入。

xml.onLoad = function(success:Boolean) { 
    if(success) { 
     var nodes = this.firstChild.childNodes; 
     numOfItems = nodes.length; 
     for(var i=0;i<numOfItems;i++) 
     { 
      var t = home.attachMovie("item","item"+i,i+1); 
      t.angle = i * ((Math.PI*2)/numOfItems); 
      t.onEnterFrame = mover; 
      t.icon.inner.loadMovie(nodes[i].childNodes[0].firstChild);  
      t.promo= nodes[i].childNodes[1].firstChild.nodeValue; 
      t.produit= nodes[i].childNodes[2].firstChild.nodeValue; 
      t.dateDebut= nodes[i].childNodes[4].firstChild.nodeValue; 
      t.dateFin= nodes[i].childNodes[5].firstChild.nodeValue; 
      t.icon.onRollOver = over; 
      t.icon.onRollOut = out; 
     } 
} else { 
     trace("Unable to load XML"); 
    } 
} 

function over() 
{ 
    home.tooltip.promo.text = this._parent.promo; 
    home.tooltip.produit.text = this._parent.produit; 
    home.tooltip.tipDebut.text = this._parent.dateDebut; 
    home.tooltip.tipFin.text = this._parent.dateFin; 
    home.tooltip._x = this._parent._x; 
    home.tooltip._y = this._parent._y + (this._parent._height*0.15); 
    home.tooltip.onEnterFrame = Delegate.create(this,moveTip); 
    home.tooltip._alpha = 100; 
} 

结果即时具有显示我每个GIF图象(至极意味着我正确指向和加载childnode),文本内容装载右(节点[libelle]和结点[描述])BUIT含节点号码或日期不加载。 我错在哪里?

回答

1

我试着运行你的代码,它有点适合我 - 尽管我只能猜测你的元素是如何在舞台上设置的。

有些事情我也注意到:

  1. 每个.gif文件的路径与/这并没有为我工作这么好开始,但正如你所说,它的工作对你...
  2. item0,item1,item2 movieClip被添加到工具提示剪辑的前面,所以图像可能会遮挡您的文本? (但这可能只是我舞台设置的方式。)
  3. 这可能是一个愚蠢的问题,但是您是否为动态文本字段嵌入了完整的字符集?这可能解释为什么字母出现,但不是数字。

此外,我不知道你的moveroutmoveTip功能在做什么(你能也许张贴呢?)。

希望这会有所帮助...

+0

不是,问题出在您的第三个建议,即嵌入特殊字符和数字,就是这样。昨天早些时候我得到了泰特,但是,谢谢你的帮助。 所以upvote,谢谢,你说得对。 – pixelboy 2010-03-04 09:33:38