0

我有一个已加载到 actionScript 中的大型 XML 文件,它基本上是一个交互式信息图,我希望用户能够区分估计值和预测值。因此,这就是为什么我希望能够在这种情况下更改“开始填充”颜色。

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()

我不确定执行此操作的正确方法,任何帮助都会很棒。

4

1 回答 1

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();
于 2013-11-04T19:38:35.997 回答