所以我试图生成一个 if 语句来改变 as3 中图形的颜色,我的数据来自一个工作正常的大型 xml 文件我只需要当值大于 2013 时会发生某种情况,即更改图形充满。它本质上是一个用 Flash 开发的交互式信息图。下面是xml文件的概要。
<dataset>
<source></source>
<extent></extent>
<scaleFac></scaleFac>
<recordSet year="1982" popTotal="1544545">
<m> //Male
<rd></rd>
<f> //Female
<rd></rd>
我主要担心的是我不确定我是否正确查询 xml 文件来测试条件。所以我想获取recordSet 年份值,即1982 并创建一个if 语句,当年份> 2013 时条件为真,这就是我到目前为止所拥有的。
var yearRecord:String = xmlData.recordSet.attribute("year");
if( int(yearRecord) > 2013 )
{...}
从研究中我看到其他人这样做
var yearRecord:String = xmlData.recordSet.@year;
if( int(yearRecord) > 2013 )
{
color = 0xFF0000; //projection color
}
所以我的问题是,如何测试它以查看条件是否有效,以便我可以操纵颜色。我尝试使用 trace("true") 并将年份更改为 2013 年,但没有输出任何内容,因此我认为我的 if 语句有问题。任何帮助,将不胜感激。
*主要代码片段
function modifyYear(){
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[0].@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();
}