flash on 2015-12-20

by mutantleg
♥0 | Line 53 | Modified 2015-12-20 05:00:25 | MIT License
play

ActionScript3 source code

/**
 * Copyright mutantleg ( http://wonderfl.net/user/mutantleg )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/uF89
 */

package {
    import flash.text.TextField;
    import flash.events.Event;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            
            deb = new TextField();
            deb.mouseEnabled = false;
            deb.width = 320;
            deb.height = 240;
            addChild(deb);
            
            setFlag(0, true);
            setFlag(4, true);
            setFlag(3000, true);

            setFlag(8191, true);
            
            var str:String;
            str = "flag " + getFlag(0);
            str += "\nflag " + getFlag(3);
            str += "\nflag " + getFlag(4);

            str += "\nflag " + getFlag(3000-1);            
            str += "\nflag3k " + getFlag(3000);
            str += "\nflag " + getFlag(3000+1);
 
            str += "\nflag " + getFlag(8190);
            str += "\nflag " + getFlag(8191);
            str += "\nflag " + getFlag(18191);
 
            deb.text = str;
            
            
        }//ctor

        public var deb:TextField;
        
        public var maxFlag:int = 256*32; //8192 //1Kb
        public var vecFlag:Vector.<int> = new Vector.<int>(256, false); 
        
        public function setFlag(f:int, v:Boolean):void
        { if (f <0 || f >= maxFlag) { return; }
          var i:int; var k:int; var m:int;
          i = f/32; k = f % 32;
          m = vecFlag[i]; 
          if (v) { m |= (1 << k); } 
          else { m &= ~(1 << k); } 
          vecFlag[i] = m;
        }//setflag
        
        public function getFlag(f:int):Boolean
        { if (f <0 || f >= maxFlag) { return false; }
          var i:int; var k:int; var m:int;
          i = f/32; k = f % 32;
          m = vecFlag[i]; 
          return ((m & (1 << k)) != 0);  
        }//getflag
        
        
       
       public function onEnter(e:Event):void
       {
         graphics.clear();
         graphics.lineStyle(2, 0);  
           
       }//onenter 
        
        
    }//classend
}