flash on 2013-5-21

by mutantleg
♥0 | Line 80 | Modified 2013-05-23 22:40:20 | 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/bgeO
 */

package {
    import flash.events.Event;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            // write as3 code here..
            
            stage.addEventListener(Event.ENTER_FRAME, onEnter);
        }//ctor
        
        public var cx:Number = 200;
        public var cy:Number = 200;
        public var vx:Number = 0;
        public var vy:Number = 0;
        public var reload:int = 0;        
        public var movedir:int = 0;
        public var wx:Number = 0;
        
        public var vecBull:Vector.<xBullet> = new Vector.<xBullet>(0, false);
        
        public function fireBullet(ax:Number, ay:Number, avx:Number, avy:Number):void
        {
            var a:xBullet;
            
            a = new xBullet();
            a.cx = ax;
            a.cy = ay;
            a.vx = avx;
            a.vy = avy;
            a.hp = 40;
            vecBull.push(a);
            
        }//firebullet
        
        public function onEnter(e:Event):void
        {
          var mx:Number;
          var my:Number;
            
           mx = mouseX;
           my = mouseY; 
            
          graphics.clear();
          graphics.lineStyle(2, 0);

          graphics.drawRect(50, 50, 300, 300);
          
          graphics.drawRect(mx-8,my-8,16,16); 
          
          vy += 0.4;

          if (vx > 0 && cx > 350-16) { vx = 0; cx = 350-16; movedir = 16; }
          if (vx < 0 && cx < 50+16) { vx = 0; cx = 50+16; movedir = 0; }
          if (vy > 0 && cy >= 350) { vy = 0; cy = 350;}    
          if (vy < 0 && cy < 50) { vy = 0; cy = 50; }             


           // fireBullet(cx,cy-16, 3,3);
            
            if (movedir == 0) { if (vx < 3) { vx +=0.2;} }
            else { if (vx > -3)  { vx -= 0.2;}  }
            
            wx += 1;
            if (wx > 60) { vx*= 0.92;} 
            if (wx >= 100 && wx < 110) { if (mx < cx) { movedir = 16; } else {movedir=0;} }
            if (wx >= 120) { vy = -7; wx = 0;}

            cx += vx; cy += vy;

          graphics.drawCircle(cx, cy-16, 16);
          
          
          var i:int;
          var num:int;
          var a:xBullet;
          
          num = vecBull.length;
          
          for (i = 0; i < num; i++)
          {
              a = vecBull[i];
              a.cx += a.vx;
              a.cy += a.vy;
              a.hp -= 1;
              
              if (a.hp <= 0)
              {
                vecBull[i] = vecBull[num - 1];
                num -= 1;
                i -= 1;
                vecBull.pop();
                continue;  
              }
              
              graphics.drawRect(a.cx-4,a.cy-4,8,8);
          }//nexti
          
          
        }//onenter
    }//classend
}

internal class xBullet
{
    public var cx:Number = 0;
    public var cy:Number = 0;
    public var vx:Number = 0;
    public var vy:Number = 0;
    public var hp:Number = 0;
    
}//classend