home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Diversos / Survival.swf / scripts / Zombie.as < prev    next >
Encoding:
Text File  |  2008-09-04  |  3.3 KB  |  132 lines

  1. package
  2. {
  3.    import flash.display.BitmapData;
  4.    import flash.geom.Rectangle;
  5.    
  6.    [Embed(source="/_assets/assets.swf", symbol="Zombie")]
  7.    public class Zombie extends Actor
  8.    {
  9.        
  10.       
  11.       internal var blood:BitmapData;
  12.       
  13.       internal var respawn:int;
  14.       
  15.       internal var player:Player;
  16.       
  17.       public function Zombie(param1:Player, param2:BitmapData)
  18.       {
  19.          super();
  20.          player = param1;
  21.          blood = param2;
  22.          place();
  23.       }
  24.       
  25.       internal function place() : void
  26.       {
  27.          var _loc1_:int = 0;
  28.          _loc1_ = Math.random() * 100 % 4;
  29.          switch(_loc1_)
  30.          {
  31.             case 0:
  32.                x = -50;
  33.                y = Math.random() * 480;
  34.                break;
  35.             case 1:
  36.                x = 770;
  37.                y = Math.random() * 480;
  38.                break;
  39.             case 2:
  40.                x = Math.random() * 720;
  41.                y = -50;
  42.                break;
  43.             case 3:
  44.                x = Math.random() * 720;
  45.                y = 530;
  46.          }
  47.          gotoAndStop(Math.round(Math.random() * 100) % 4 + 1);
  48.          respawn = Math.random() * 180 + 30;
  49.          visible = false;
  50.       }
  51.       
  52.       internal function collision(param1:Player) : *
  53.       {
  54.          --param1.health;
  55.          die();
  56.       }
  57.       
  58.       internal function drawCircle(param1:int, param2:int, param3:int, param4:int, param5:BitmapData) : void
  59.       {
  60.          var _loc6_:int = 0;
  61.          var _loc7_:Number = NaN;
  62.          _loc6_ = 0;
  63.          while(_loc6_ < param3)
  64.          {
  65.             _loc7_ = 0;
  66.             while(_loc7_ < 2 * Math.PI)
  67.             {
  68.                param5.setPixel(param1 + Math.cos(_loc7_) * param3,param2 + Math.sin(_loc7_) * param3,param4);
  69.                _loc7_ += 0.1;
  70.             }
  71.             _loc6_++;
  72.          }
  73.       }
  74.       
  75.       internal function die() : void
  76.       {
  77.          var _loc1_:int = 0;
  78.          var _loc2_:int = 0;
  79.          var _loc3_:int = 0;
  80.          var _loc4_:int = 0;
  81.          var _loc5_:int = 0;
  82.          var _loc6_:Rectangle = null;
  83.          var _loc7_:int = 0;
  84.          _loc1_ = 0;
  85.          while(_loc1_ < 700)
  86.          {
  87.             _loc2_ = Math.random() * 150 - 75;
  88.             _loc3_ = Math.random() * 150 - 75;
  89.             _loc4_ = Math.random() * 16 - 8;
  90.             _loc5_ = Math.random() * 16 - 8;
  91.             _loc6_ = new Rectangle(x + _loc2_,y + _loc3_,_loc4_,_loc5_);
  92.             _loc7_ = 32072 + (Math.random() * 250 - 125 << 8);
  93.             blood.fillRect(_loc6_,_loc7_);
  94.             _loc1_++;
  95.          }
  96.          place();
  97.       }
  98.       
  99.       internal function update(param1:*) : void
  100.       {
  101.          --respawn;
  102.          if(respawn == 0)
  103.          {
  104.             visible = true;
  105.          }
  106.          if(respawn < 0)
  107.          {
  108.             velx = Math.random() * 4 - 2;
  109.             vely = Math.random() * 4 - 2;
  110.             if(player.x < x)
  111.             {
  112.                velx -= 2;
  113.             }
  114.             if(player.x > x)
  115.             {
  116.                velx += 2;
  117.             }
  118.             if(player.y < y)
  119.             {
  120.                vely -= 2;
  121.             }
  122.             if(player.y > y)
  123.             {
  124.                vely += 2;
  125.             }
  126.             x += velx;
  127.             y += vely;
  128.          }
  129.       }
  130.    }
  131. }
  132.