2013-11-04 23 views
0

我有一个大的XML文件,我已经加载到actionScript中,它基本上是一个交互式infograph,我希望用户能够区分估计值和预测值。所以这就是为什么我想在这种情况下能够改变“beginfill”的颜色。在特定条件下修改颜色actionscript-3

var yearRecord:String = xmlData.recordSet.attribute("year"); 
if(int(yearRecord) > 2013) 
{...} 

这是我的XML数据的基本概述,我希望能够获取year属性的值。

<dataset> 
<source></source> 
<extent></extent> 
<scaleFac></scaleFac> 
<recordSet year="1982" popTotal="1544545"> 
<m> //Male 
<rd></rd> 
<f> //Female 
<rd></rd> 

这是我声明,我想改变颜色当打之年超出2013年

var mcF:MovieClip = new MovieClip(); 
mcF.age=i; 
mcF.popValue=xmlData.recordSet[indexYear].f.rd[i].text(); 
mcF.name="popF"+i 
var mcFGraphics:Graphics = mcF.graphics; 
mcFGraphics.beginFill(0x660066,1); 
mcFGraphics.drawRect(graphX+mfGap,(graphY-(i*cellHeight))-  
cellHeight,mcF.popValue/scaleValue,cellHeight); 
mcFGraphics.endFill() 

荫的正确方法不知道做到这一点,任何帮助将我的柱形图的价值很棒。

+1

你的问题到底是什么? – Fygo

+0

条件为真时,如何更改填充。我只是尝试了一下追踪,当2013年过去时没有任何反应,所以我的if语句甚至没有工作。 – DanDan4561

回答

0

难道你还没有你需要的每一段代码吗?你在问题中发布了它们。

var mcF:MovieClip = new MovieClip(); 
mcF.age=i; 
mcF.popValue=xmlData.recordSet[indexYear].f.rd[i].text(); 
mcF.name="popF"+i 
var mcFGraphics:Graphics = mcF.graphics; 
var color:Number = 0x660066; //default color 

var yearRecord:String = xmlData.recordSet.attribute("year"); 
if(int(yearRecord) > 2013) 
{ 
    color = 0xFF0000; //projection color 
} 

mcFGraphics.beginFill(color,1); //draw with whatever appropriate color 
mcFGraphics.drawRect(graphX+mfGap,(graphY-(i*cellHeight))-  
cellHeight,mcF.popValue/scaleValue,cellHeight); 
mcFGraphics.endFill();