Advertisement
Guest User

Untitled

a guest
Mar 13th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import flash.geom.Point;
  2.  
  3. addEventListener(Event.ENTER_FRAME, update)
  4. addEventListener(MouseEvent.MOUSE_DOWN, down)
  5. addEventListener(MouseEvent.MOUSE_UP, up)
  6.  
  7. var drive: Number = 0;
  8.  
  9. function down(_) {
  10.     if (drive > .05 && cooldown <= 0) {
  11.         overdrive = true;
  12.         left_off = bar.scaleY;
  13.     }
  14. }
  15.  
  16. function up(_) {
  17.     overdrive = false;
  18.     if (cooldown <= 0) {
  19.         cooldown = 1;
  20.     }
  21. }
  22.  
  23. var energies: Array = [];
  24.  
  25. var spawn_t: Number = 0;
  26.  
  27. var overdrive: Boolean = false;
  28. var cooldown: Number = 0;
  29.  
  30. var left_off: Number = 0;
  31.  
  32. function update(_) {
  33.     spawn_t++;
  34.     heli.x = mouseX;
  35.     heli.y = mouseY;
  36.     heli.rot.rotation += 10;
  37.     heli.rot.gotoAndStop(overdrive ? 2 : 1);
  38.     heli.rot.scaleX += ((overdrive ? 1.2 : 1) - heli.rot.scaleX) * .2;
  39.     heli.rot.scaleY = heli.rot.scaleX;
  40.  
  41.     if (overdrive) {
  42.         if (drive < 0) {
  43.             overdrive = false;
  44.             cooldown = 1;
  45.         } else {
  46.             drive -= .01;
  47.         }
  48.     } else {
  49.         if (cooldown > 0) {
  50.             cooldown -= .07;
  51.         } else {
  52.             if (drive < 1) {
  53.                 drive += .005;
  54.             }
  55.         }
  56.  
  57.         bar_used.scaleY = left_off + (bar.scaleY - left_off) * (1 - cooldown);
  58.     }
  59.  
  60.     bar.scaleY = drive;
  61.  
  62.     if (overdrive || (cooldown < 0 && drive < 1 && spawn_t % 4 == 0)) {
  63.         var energy: Energy = new Energy();
  64.         addChild(energy);
  65.         energy.speed = 0;
  66.         energy.vel = new Point();
  67.         energy.rotation = Math.random() * 360;
  68.         energies.push(energy);
  69.  
  70.         var move: Point = new Point(Math.random() * 100 - 50, Math.random() * 100 - 50);
  71.         if (overdrive) {
  72.             move.normalize(10);
  73.             energy.vel.x = move.x;
  74.             energy.vel.y = move.y;
  75.             move.normalize(41);
  76.             energy.nextFrame();
  77.         } else {
  78.             move.normalize(100);
  79.             energy.alpha = 0;
  80.         }
  81.         energy.x = heli.x + move.x;
  82.         energy.y = heli.y + move.y;
  83.         energy.is_overdrive = overdrive;
  84.     }
  85.  
  86.     for (var i: int = 0; i < energies.length; i++) {
  87.         energy = energies[i];
  88.         var vel: Point = energy.vel;
  89.         if (energy.is_overdrive) {
  90.             energy.alpha -= .05;
  91.             vel.x *= .9;
  92.             vel.y *= .9;
  93.         } else {
  94.             energy.alpha += .1;
  95.             if (energy.speed < 30)
  96.                 energy.speed += 1;
  97.             vel.x = heli.x - energy.x;
  98.             vel.y = heli.y - energy.y;
  99.             if (vel.length < 40) {
  100.                 energies.splice(i, 1);
  101.                 i--;
  102.                 removeChild(energy);
  103.                 continue;
  104.             }
  105.  
  106.             vel.normalize(energy.speed);
  107.         }
  108.  
  109.         if (energy.is_overdrive) {
  110.             energy.x -= energy.vel.x * 2;
  111.             energy.y -= energy.vel.y * 2;
  112.             if (energy.alpha < 0) {
  113.                 energies.splice(i, 1);
  114.                 i--;
  115.                 removeChild(energy);
  116.                 continue;
  117.             }
  118.         } else {
  119.             energy.x += energy.vel.x;
  120.             energy.y += energy.vel.y;
  121.  
  122.         }
  123.     }
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement