flash on 2016-6-13

by mutantleg
♥0 | Line 78 | Modified 2016-06-13 06:55:12 | 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/SPnB
 */

package {
    import flash.events.Event;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            vecThing = new Vector.<xThing>(0, false);
            var a:xThing;
            a = new xThing(); vecThing.push(a); a.cx=235; a.cy=235; a.xrad=64;a.yrad=32; a.spec=1; 
            a = new xThing(); vecThing.push(a); a.parent = vecThing[0]; a.px=-8; a.py=32; a.spec=2;
            a = new xThing(); vecThing.push(a); a.parent = vecThing[0]; a.px=8; a.py=32; a.spec=3;
            
            stage.addEventListener(Event.ENTER_FRAME, onEnter);
        }//ctor
        
        public var vecThing:Vector.<xThing>;
        
        public function onEnter(e:Event):void
        {
            graphics.clear();
            graphics.lineStyle(2, 0);
            
            var i:int; var num:int; var a:xThing;
            num = vecThing.length;
            for(i=0;i<num;i+=1)
            {
              a = vecThing[i];
              
              if (a.spec==1)
              {
                if (a.wait<=0)
                {
                 if (a.cmd==1){ a.cx-=2; if (a.cx<100){a.cx=100; a.cmd=2; } }  
                 if (a.cmd==4){ a.cx+=2; if (a.cx>300){a.cx=300; a.cmd=5; }}
                }//endif2
                 
                a.wait -=1;
                if (a.wait<=0)
                {
                  a.wait=0;
                  if (a.cmd == 0) { a.cmd = 1;  }   
                  else if (a.cmd==2) { a.cmd=3; a.wait=70; }
                  else if (a.cmd==3) { a.cmd=4; a.wait=40; }
                  else if (a.cmd==5){ a.cmd=6; a.wait=70; }
                  else if (a.cmd==6) { a.cmd= 1; a.wait=40; } 
                } //endif2  
                  
              }//endif
              
              if (a.parent != null)
              {
                if (a.spec==2)
                {
                  if (a.parent.wait<60)
                  if (a.parent.cmd ==3 || a.parent.cmd==6) { a.px-=1; if(a.px<-24){a.px=-24;} }
                  else { a.px+=1; if (a.px>-8){a.px=-8; } }     
                }  
                if (a.spec==3)
                {
                  if (a.parent.wait<60)
                  if (a.parent.cmd ==3 || a.parent.cmd==6) { a.px+=1; if(a.px>24){a.px=24;} }
                  else { a.px-=1; if (a.px<8){a.px=8; } }     
                }  
                  
                a.cx = a.parent.cx + a.px;
                a.cy = a.parent.cy + a.py;   
              }
              
              graphics.drawCircle(a.cx,a.cy,4);
              graphics.drawRect(a.cx-a.xrad,a.cy-a.yrad,a.xrad*2,a.yrad*2);
              if (a.spec==1)
             { graphics.drawRect(a.cx-a.xrad-4,a.cy-a.yrad-4,a.xrad*2+8,a.yrad*2+8);}
            }//nexti
            
        }//onenter
        
    }//classend
}

internal class xThing
{
 public var cx:Number = 0;
 public var cy:Number = 0;
 public var xrad:Number = 8;
 public var yrad:Number = 8;    
  public var parent:xThing = null;
  public var px:Number = 0;
  public var py:Number = 0;
  
  public var spec:int = 0;
  public var wait:int = 0;    
  public var cmd:int =0;
  
    
}//xthing