ActionScript 3.0 Design Patterns

(Chris Devlin) #1
Example: Working with Different Data Displays | 323

Then, using that converted data, all that’s left to do is draw rectangles representing


those values. Open a new ActionScript file, and save Example 8-26 using the caption


as the filename in the folder with the other files from this application.


Example 8-26. QuarterBar.as


package
{
//Bar chart maker
import flash.display.Graphics;
import flash.display.Shape;
import flash.display.Sprite;


public class QuarterBar extends Sprite
{
private var listArray:Array;
private var maxVal:Number=0;
private var b1:Number, b2:Number, b3:Number,b4:Number;
private var position:uint=160;
private var maxSize:uint=150;


//Data Displayed in Bar Chart
function QuarterBar(cData:Array)
{
listArray=new Array( );
listArray=cData;


//Set up relative sizes for bars
for (var max in listArray)
{
if (listArray[max] > maxVal)
{
maxVal=listArray[max];
}
}
b1=(listArray[0]/maxVal)maxSize;
b2=(listArray[1]/maxVal)
maxSize;
b3=(listArray[2]/maxVal)maxSize;
b4=(listArray[3]/maxVal)
maxSize;


//Bar Chart
var bar:Shape=new Shape( );
bar.graphics.clear( );
//Draw Chart
bar.graphics.beginFill(0xdd0000);
bar.graphics.lineStyle(1,0x000000);
bar.graphics.drawRect(285,(position-b1),30,b1);
bar.graphics.drawRect(315,(position-b2),30,b2);
bar.graphics.drawRect(345,(position-b3),30,b3);
bar.graphics.drawRect(375,(position-b4),30,b4);
bar.graphics.endFill( );

Free download pdf