因此,我试图生成一个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>我主要关心的是Iam不确定Iam是否正确地查询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();
}发布于 2013-11-05 16:32:57
好吧,就在那放个“其他”字。
var yearRecord:String = xmlData.recordSet[0].@year;
if( int(yearRecord) > 2013 )
{
color = 0xFF0000; //projection color
}
else {
trace("you did something wrong");
}编辑:为什么你不跟踪'yearRecord‘变量,看看你收到了什么?
发布于 2013-11-05 19:39:27
只需使用跟踪
trace(int(yearRecord) > 2013); 如果匹配,将返回true,如果不匹配,则返回false
https://stackoverflow.com/questions/19793436
复制相似问题