Sections

  • Search Chrome Cow

Design a Day



Using Checkboxes

Prototyping isn’t (shouldn’t be) the sexiest code and UI on the block. Get it done, and get it done fast.

One way to get quick feedback is to give the user tweakable parameters, or "tweakers." The following code is a checkbox playground.

Unchecking a column sets it to 0. Locking a column keeps it locked on the last displayed value. If no columns are locked, you can check the random box, and one of the three columns may be unchecked.

Poke around the code to get a feel for it. I use a lot of global variables because the "Next" button just relaunches the movie, and global variables survive this rough reboot. Again, it ain’t pretty, but it works.

if(!initFlag) { // This initializes these global variables
                // Only the first time the loop is run
               
    _global.colbox1 = 1;
    _global.colbox2 = 1;
    _global.colbox3 = 1;
    _global.randy = 0;
    _global.lock1 = 0;
    _global.lock2 = 0;
    _global.lock3 = 0;
   
    _global.ResultA = 0;
    _global.ResultB = 0;
    _global.ResultC = 0;

    _global.initFlag = 1;
}

    //Uncheck "Random" if any of the columns are locked
if ( (lock1+lock2+lock3) > 0) _global.randy = 0;

if(_global.randy == 1){
        _global.colbox1 = 0;
        _global.colbox2 = 0;
        _global.colbox3 = 0;
       
        // At least two columns must be chosen in Random
    while ( (_global.colbox1+_global.colbox2+_global.colbox3) < 2) {
        _global.colbox1 = random(2);
        _global.colbox2 = random(2);
        _global.colbox3 = random(2);
    }
}

updateBoxes();  // calls the user defined function to update all check boxes

//__________Do Something with the results of all those checkboxes

if ( _global.lock1 == 0) {
    randA = randRange(1,9);
    _global.ResultA = randA * colbox1;  // Zeros out result of column is unchecked
}
colA.text = _global.ResultA;

if ( _global.lock2 == 0) {
    randB = randRange(1,9);
    _global.ResultB = randB * colbox2;  // Zeros out result of column is unchecked
}
colB.text = _global.ResultB;

if ( _global.lock3 == 0) {
    randC = randRange(1,9);
    _global.ResultC = randC * colbox3;  // Zeros out result of column is unchecked
}
colC.text = _global.ResultC;

resultSum.text = ResultA + ResultB + ResultC;

// User Defined Functions_________________________

function randRange(min:Number, max:Number):Number {
       var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
       return randomNum;
}

function updateBoxes () {
   
    if(colbox1 == 1) {
        colm1.selected = true;
    } else {
        colm1.selected = false;       
    }

    if(colbox2 == 1) {
        colm2.selected = true;
    } else {
        colm2.selected = false;       
    }
   
    if(colbox3 == 1) {
        colm3.selected = true;
    } else {
        colm3.selected = false;       
    }

    if(randy == 1) {
        randyOm.selected = true;
    } else {
        randyOm.selected = false;       
    }
   
    if(lock1 == 1) {
        lock_1.selected = true;
    } else {
        lock_1.selected = false;       
    }

    if(lock2 == 1) {
        lock_2.selected = true;
    } else {
        lock_2.selected = false;       
    }
   
    if(lock3 == 1) {
        lock_3.selected = true;
    } else {
        lock_3.selected = false;       
    }   
   
    return;
}

stop();

Download the Flash File
Flash checkBoxMania.fla

File Under: , , , ,

Pages: 1 2 3



Share This Post

del.icio.us:Learning Flash digg:Learning Flash spurl:Learning Flash wists:Learning Flash simpy:Learning Flash newsvine:Learning Flash blinklist:Learning Flash furl:Learning Flash reddit:Learning Flash fark:Learning Flash blogmarks:Learning Flash Y!:Learning Flash smarking:Learning Flash magnolia:Learning Flash segnalo:Learning Flash Submit to Slashdot Submit to BoingBoing Submit to Make


One Response to “Learning Flash”

  1. Box3r Says:


    nice 1

Leave a Reply

Comment Preview




All comments are subject to the Rules.