flash on 2014-11-7

by mutantleg
♥0 | Line 65 | Modified 2014-11-07 05:58:17 | 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/bWkP
 */

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);
         
             vecNode = new Vector.<xNode>(0,false);
             var i:int; 
             for (i = 0; i < 8; i++)
             {
                 vecNode.push(new xNode() );
             }//nexti
            
            stage.addEventListener(Event.ENTER_FRAME, onEnter);
        }//ctor
        
        public var vecNode:Vector.<xNode>;
        
        public var deb:TextField;
        
        public function onEnter(e:Event):void
        {
            graphics.clear();
            graphics.lineStyle(2,0);           
           
           deb.text ="";
           
            
            var mx:Number;
            var my:Number;
            mx = stage.mouseX;
            my = stage.mouseY;
             
            
            var i:int; var num:int; var a:xNode;
            var b:xNode;
            var kx:Number;
            
            
            num = vecNode.length;
            kx = 80+ num*16-16
            deb.appendText("kx "+ kx+"\n");

            for (i = 0; i < num; i++)
            {
              a = vecNode[i];
              a.cx = 80 + i * 32;
              a.cy = 200;
    
              //a.vy += (i-(num*0.5));
              
              //if (a.cx < mx && a.cx+32 > mx) {a.vy+=4;}
              //if (a.cx-32 < mx && a.cx+32+32 > mx) {a.vy+=2;}
              
             // a.vy += Math.abs(mx - a.cx)*-0.15;
             // a.vy = Math.abs(kx - a.cx)*-0.15;
             var u:Number;
             if (mx > 80 && mx < num*32+80)
             {

              u =(1-(Math.abs((kx-a.cx-16)/(num*32))));
              //u-=0.5;
              a.vy += ((num*32)- Math.abs(mx - a.cx-16))*0.03 *u;
              
             }
            
             deb.appendText(" " +(1-(Math.abs((kx-a.cx)/(num*32))))+"\n");
              //deb.appendText(" " +a.vy+"\n");
            
            //  deb.appendText(""+a.cx+" "+(a.cx-kx)+"\n");
              
            }//nexti
  /* 
            for (i = 0; i < num; i++)
            {
              a = vecNode[i];
   
               if (i > 0) 
              {
                b = vecNode[i-1];
                a.vy += (b.cy-a.cy)*0.1;    
              }
              
              if (i < num-1)
              {
                b = vecNode[i+1];
                a.vy += (b.cy-a.cy)*0.1;  
              }
   
            }//nexti
   */         
            
            for (i = 0; i < num; i++)
            {
              a = vecNode[i];
               
              a.vy *=0.8;
              a.cy += a.vy;
   
              graphics.drawRect(a.cx,a.cy, 32,32);
            }//nexti
            
        }//onenter
        
        
        
    }//classend
}

internal class xNode
{
  public var cx:Number = 0;
  public var cy:Number = 0;  
  public var vy:Number = 0;
    
}//xnode