0

我有一个带有四个节点的大型 XML 文件,使用它来创建交互式金字塔样式信息图。问题是当年份超过记录集中的特定值时,我希望能够操纵条形的颜色,所以这就是我到目前为止所得到的。

*xml 文件

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

动作脚本

加载 xml 文件后,我创建了一个变量来保存我需要使用的记录集年份值。

function onComplete(evt:Event):void {
xmlData = new XML(evt.target.data);
//populates metadat fields
seriesLength=xmlData.recordSet.length();
yearRecord=xmlData.recordSet.text();

然后我创建了一个名为 modify year 的函数,这是我的问题所在。我尝试创建一个简单的 if else 语句,当值(Year)大于 2013 时,我们应该更改条形的颜色。

function modifyYear(){

var mcF:MovieClip = new MovieClip();
var mcFGraphics:Graphics = mcF.graphics;

    if (yearRecord>2013){

        mcFGraphics.beginFill(0xFFFFFF,1);
    }

    else {
        mcFGraphics.beginFill(0x660066,1);
    }
};

我不确定如何检查年份记录是否超过特定值。我对 actionscript 很陌生,所以任何帮助都会很好。

4

1 回答 1

0

我不确定我是否正确理解了您的问题。如果您对如何从 xml 节点获取属性值感到困惑,那么这里是:

var yearRecord:String = xmlData.recordSet.attribute("year");

如果您不确定如何比较两个值,如果其中一个是字符串,另一个是整数,那么您必须将 String 转换为 int:

if( int(yearRecord) > 2013 )
{...}

请尝试一下,如果您不明白,请不要犹豫。祝你好运:)

于 2013-10-31T20:30:25.530 回答