Advertisement
Guest User

Untitled

a guest
Jan 24th, 2012
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package otherlib.loaders {
  2.    
  3.     import flash.events.MouseEvent;
  4.     import otherlib.loaders.ACOW;
  5.     import otherlib.ringmas.loadervar;
  6.    
  7.     //some odd notes the lbl or labeler is to prevent multiple radio classes to all have buttons with the same name...
  8.     //creating a crash.  so it should be e.target.name == lbl + i in theory
  9.     //closed buttons will be lbl + i + "c" for float over
  10.    
  11.     //dont wont the buttons to be spaced out so they will be named 0,1,2... etc instead of 0,2,4 using iNow
  12.    
  13.     public class radioClass {
  14.         public var buttonArray:Array = [];
  15.         public var sFunc:Function;
  16.         public var lbl:String;
  17.        
  18.         public function buildRadio(total:int, xSide:int, ySide:int, ySpacer, wSide:int, starter:int, labeler:String, sFun:Function, sStage) {
  19.             radioButtonAddNumber(total, xSide, ySide, ySpacer, wSide, buttonArray, sStage);
  20.             buttonArray[(starter * 2) + 1].visible = true;  //one has to be visible its a radio
  21.             sFunc = sFun;
  22.             lbl = labeler;
  23.             var iNow:int = new int(0);
  24.             for(var i = 0; i < buttonArray.length; i = i + 2) {
  25.                 buttonArray[i].addEventListener(MouseEvent.CLICK, radioChange);
  26.                 buttonArray[i].name = labeler + iNow;
  27.                 buttonArray[i+ 1].name = labeler + iNow + "c";
  28.                 iNow++;
  29.             }
  30.         }
  31.        
  32.         //a function that makes a bunch of radio buttons...
  33.         public function radioButtonAddNumber(total:int, xSide:int, ySide:int, ySpacer, wSide:int, sArray, sStage) {
  34.             for (var i:Number = 0; i < total; i++) {
  35.                 radioButtonAdd(xSide, ySide + (ySpacer * i), wSide, sArray, sStage);
  36.             }
  37.         }
  38.        
  39.         //add a radio button the array provided
  40.         public function radioButtonAdd(xSide:int, ySide:int, wSide:int, sArray:Array, sStage) {
  41.             var tempFile:String;
  42.             if(loadervar.ldRemote == true){
  43.                 tempFile = loadervar.ldBaseXML;
  44.             }
  45.             else {
  46.                 tempFile = "../";
  47.             }
  48.             var ac:ACOW = new ACOW();
  49.             ac.makeLoadChange(tempFile + "images/button/radioopen.png",  xSide, ySide, wSide, wSide, sArray, sStage);
  50.             var ac1:ACOW = new ACOW();
  51.             ac1.makeLoadChange(tempFile + "images/button/radioclosed.png",  xSide, ySide, wSide, wSide, sArray, sStage);
  52.             buttonArray[buttonArray.length - 1].visible = false;
  53.         }
  54.        
  55.         //show all the buttons in the open position, hide all closed buttons
  56.         public function resetButtonOpen() {
  57.             for(var i = 0; i < buttonArray.length; i = i + 2) {
  58.                 buttonArray[i].visible = true;
  59.                 buttonArray[i + 1].visible = false;
  60.             }
  61.         }
  62.        
  63.         //set the one button that needs to be changed
  64.         public function setButtonClosed(but:int) {
  65.             buttonArray[but].visible = false;
  66.             buttonArray[but + 1].visible = true;
  67.         }
  68.        
  69.         //radio buttons have been clicked Change NOW!
  70.         public function radioChange(e:MouseEvent) {
  71.             resetButtonOpen();
  72.             var iNow:int = new int(0);
  73.             for(var i = 0; i < buttonArray.length; i = i + 2) {
  74.                 if(e.target.name == lbl + iNow) {
  75.                     setButtonClosed(i);//array spot is easier here...
  76.                     sFunc(iNow); // toss to the main game the number that got selected
  77.                 }
  78.                 iNow++;
  79.             }
  80.         }
  81.        
  82.     }
  83.    
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement