したがって、as3 のグラフィックの色を変更する if ステートメントを作成しようとしています。私のデータは、正常に動作する大きな xml ファイルから取得されています。値が 2013 を超えると、特定の条件が発生する、つまりグラフィックが変更されることが必要です。塗りつぶし。これは基本的に、フラッシュで開発されたインタラクティブなインフォグラフです。以下はxmlファイルの概要です。
<dataset>
<source></source>
<extent></extent>
<scaleFac></scaleFac>
<recordSet year="1982" popTotal="1544545">
<m> //Male
<rd></rd>
<f> //Female
<rd></rd>
私の主な懸念は、条件をテストするためにxmlファイルを正しく照会しているかどうかわからないことです。したがって、recordSet の年の値、つまり 1982 を取得し、年が 2013 年を超える場合に条件が真であるという if ステートメントを作成したいと考えています。
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();
}