Advertisement
sukdik

Untitled

Dec 20th, 2017
368
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package classes
  2. {
  3.     import flash.display.MovieClip;
  4.     import flash.events.Event;
  5.     import flash.geom.Vector3D;
  6.     import flash.events.MouseEvent;
  7.     import flash.utils.Timer;
  8.     import flash.media.Sound;
  9.     import flash.net.URLRequest;
  10.     import flash.display.Stage;
  11.     import flash.media.SoundChannel;
  12.     import flash.utils.getDefinitionByName;
  13.     import flash.utils.getQualifiedClassName;
  14.  
  15.  
  16.     public class enemy_ez extends MovieClip
  17.     {
  18.         var enemyPosition:Vector3D = new Vector3D();
  19.         var enemyDirection:Vector3D = new Vector3D();
  20.         public var index:Number;
  21.  
  22.         var speed:Number = 3;
  23.  
  24.         var currentTarget:int = 0;
  25.  
  26.         public var enemyType:String = "ez";
  27.         var health:Number = 100;
  28.         var myStage:Stage;
  29.  
  30.  
  31.         public function enemy_ez(s:Stage)
  32.         {
  33.             // constructor code
  34.             myStage = s;
  35.             this.addEventListener(Event.ENTER_FRAME, loop);
  36.  
  37.  
  38.         }
  39.         public function TakeDamage(t:Turret, d:Number)
  40.         {
  41.             if (health - d > 0)
  42.             {
  43.                 health -=  d;
  44.             }
  45.             else
  46.             {
  47.                 Die(t);
  48.             }
  49.         }
  50.         function Die(t:Turret)
  51.         {
  52.             this.removeEventListener(Event.ENTER_FRAME, loop);
  53.             if (myStage.contains(this))
  54.             {
  55.                 Game.waveArray.splice(index,1);
  56.                 t.target = null;
  57.                 myStage.removeChild(this);
  58.  
  59.             }
  60.  
  61.  
  62.  
  63.  
  64.             function getCurrentAngle():Number
  65.             {
  66.                 var perpendicular:Number = (Game.pathArray[currentTarget].y - y);
  67.                 var base:Number = (Game.pathArray[currentTarget].x - x);
  68.                 var angle:Number = Math.atan2(perpendicular,base);// in radians  
  69.                 return (angle * 180 / Math.PI);// in degrees  
  70.             }
  71.             function loop(e:Event)
  72.             {
  73.                 x +=  4;
  74.                 enemyPosition.x = x;
  75.                 enemyPosition.y = y;
  76.  
  77.                 var targetPosition:Vector3D = new Vector3D();
  78.                 targetPosition.x = Game.pathArray[currentTarget].x;
  79.                 targetPosition.y = Game.pathArray[currentTarget].y;
  80.  
  81.                 enemyDirection = targetPosition.subtract(enemyPosition);
  82.  
  83.  
  84.                 var distance:Number = enemyDirection.length;
  85.  
  86.  
  87.                 enemyDirection.normalize();
  88.  
  89.                 if (distance <= 5)
  90.                 {
  91.  
  92.                     if (currentTarget < Game.pathArray.length -1 )
  93.                     {
  94.  
  95.                         currentTarget++;
  96.                     }
  97.                     else
  98.                     {
  99.  
  100.                         this.removeEventListener(Event.ENTER_FRAME, loop);
  101.                         if (stage.contains(this))
  102.                         {
  103.                             stage.removeChild(this);
  104.                         }
  105.  
  106.                     }
  107.                 }
  108.  
  109.                 x +=  enemyDirection.x * speed;
  110.                 y +=  enemyDirection.y * speed;
  111.  
  112.                 rotation = getCurrentAngle();
  113.                
  114.             }
  115.  
  116.         }
  117.  
  118.     }
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement