Eksamen H 2010 - Hoteller

Eksempel på hvordan man kan lage søylediagram


Flere måter å gjøre dette på, men det enkleste er å endre størrelsen på søylene med egenskapen .scaleX (eller .scaleY),
da denne egenskapen tillater negative verdier. (I motsetning til egenskapen .width.)

Legg ogå merke til hvordan vi setter farve når objektene vi behandler ikke har en egen egenskap for farve (color),
slik at vi må bruke klassen ColorTransform! Denne metoden virker på alle MovieClip.

Eksempel:

/**********************************
    Eksempel med søylediagrammer
       soyle1, soyle2, ...
    lagt inn som rektangler i Flash
***********************************/
const SCALE: Number = 0.1;      // Skaleringsfaktor, må tilpasse
var soyletabell:    Array = [soyle1,soyle2];         // Soyler i tabell   
// Farvehåndtering:
var ct_rod: ColorTransform = new ColorTransform();   // Rød farve
ct_rod.color = 0xff0000;
var ct_bla: ColorTransform = new ColorTransform();   // Blå farve
ct_bla.color = 0x0000ff;
function settSoyle(nr: int, verdi: int):void {
   var soyle: Soyle = soyletabell[nr];
   soyle.scaleX =SCALE*verdi;
   if( verdi >= 0 ) {
      soyle.transform.colorTransform = ct_rod;
   }else{
      soyle.transform.colorTransform = ct_bla;
   }//if
}//setSoyle()
//////////////////////////////////////////////////////////////
///     Kode for å test søylediagrammet og settSoyle()     ///
//////////////////////////////////////////////////////////////
btnminus.addEventListener(MouseEvent.CLICK,minusTrykket);
btnpluss.addEventListener(MouseEvent.CLICK,plussTrykket);
var verdi: int = -15;
settSoyle(0,verdi);
settSoyle(1,verdi+5);
function minusTrykket(evt: MouseEvent):void {
   verdi--;
   settSoyle(0,verdi);
   settSoyle(1,verdi+5);
}//minusTrykekt()

function plussTrykket(evt: MouseEvent):void {
   verdi++;
   settSoyle(0,verdi);
   settSoyle(1,verdi+5);
}//plussTrykekt()