flash on 2013-9-26

by mutantleg
♥0 | Line 64 | Modified 2013-09-26 22:25:50 | 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/kogT
 */

package {
    import flash.text.TextField;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            // write as3 code here..
            var deb:TextField;
            var np:Vector.<int>;
            var vec:Vector.<xPnt>;
            var a:xPnt;
            var i:int;
            var num:int;
         
            deb = new TextField();
            addChild(deb);
            deb.width=320;
            deb.height=240;
            deb.mouseEnabled=false;
            deb.text=" ";
         
            
            graphics.clear();
            graphics.lineStyle(2,0);
            vec = new Vector.<xPnt>(0,false);
            
            for (i = 0; i < 8; i++)
            {
                a = new xPnt();
                vec.push(a );
                a.sc = Math.random()*3;
                a.oldp = i;
                a.y = i * 8;
                deb.appendText(" "+a.oldp+" ");  
  
            }//nexti
            deb.appendText("\n");
            vec.sort(compPnt);
            
            
            num = vec.length;
            np = new Vector.<int>(num,false);
            for (i = 0; i < num; i++)
            { np[vec[i].oldp] = i; }

            for (i =0;i<num;i++)
            {
              deb.appendText(" "+vec[i].oldp+" ");  
            }
            
            deb.appendText("\n");
            
            for (i =0;i<num;i++)
            {
              deb.appendText(" "+np[i]+" ");  
            }
           
            deb.appendText("\n");
            
            for (i =0;i<num;i++)
            {
              deb.appendText(" "+vec[np[i]].oldp+" ");  
            }
            
        }//ctor
        
        public function compPnt(a:xPnt,b:xPnt):Number
        {
            if (a.sc == b.sc) { return 0; }
            if (a.sc < b.sc) { return -1;}
            return 1;    
        }
        
    }//classend
}

internal class xPnt
{
 public var oldp:int = 0;
 public var sc:int  =0;   
 public var y:Number = 0;
}