我有一个包含四个节点的大型XML文件,使用它来创建交互式金字塔样式的infograph。麻烦的是,当年份超过记录集中的特定值时,我希望能够操纵条形图的颜色,所以这就是我到目前为止所做的。
* xml文件
<dataset>
<source></source>
<extent></extent>
<scaleFac></scaleFac>
<recordSet year="1982" popTotal="1544545">
<m> //Male
<rd></rd>
<f> //Female
<rd></rd>
ActionScript
在xml文件中加载后,我创建了一个变量来保存记录集年份值,这是我需要使用的。
function onComplete(evt:Event):void {
xmlData = new XML(evt.target.data);
//populates metadat fields
seriesLength=xmlData.recordSet.length();
yearRecord=xmlData.recordSet.text();
然后我创建了一个名为“修改年份”的函数,这就是我的问题所在。我试过创建了一个简单的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);
}
};
我不确定如何查看年份记录是否超过特定值。我对动作脚本很新,所以任何帮助都会很棒。
答案 0 :(得分:0)
我不确定我是否理解你的问题。 如果您对如何从xml节点获取属性值感到困惑,那么它就是:
var yearRecord:String = xmlData.recordSet.attribute("year");
如果你只是不确定如何比较两个值,如果其中一个是字符串而另一个是整数,那么你必须将String转换为int:
if( int(yearRecord) > 2013 )
{...}
请尝试一下,如果你不了解什么,请不要犹豫。 祝AS好运:)