home *** CD-ROM | disk | FTP | other *** search
- package
- {
- import flash.display.BitmapData;
- import flash.geom.Rectangle;
-
- [Embed(source="/_assets/assets.swf", symbol="Zombie")]
- public class Zombie extends Actor
- {
-
-
- internal var blood:BitmapData;
-
- internal var respawn:int;
-
- internal var player:Player;
-
- public function Zombie(param1:Player, param2:BitmapData)
- {
- super();
- player = param1;
- blood = param2;
- place();
- }
-
- internal function place() : void
- {
- var _loc1_:int = 0;
- _loc1_ = Math.random() * 100 % 4;
- switch(_loc1_)
- {
- case 0:
- x = -50;
- y = Math.random() * 480;
- break;
- case 1:
- x = 770;
- y = Math.random() * 480;
- break;
- case 2:
- x = Math.random() * 720;
- y = -50;
- break;
- case 3:
- x = Math.random() * 720;
- y = 530;
- }
- gotoAndStop(Math.round(Math.random() * 100) % 4 + 1);
- respawn = Math.random() * 180 + 30;
- visible = false;
- }
-
- internal function collision(param1:Player) : *
- {
- --param1.health;
- die();
- }
-
- internal function drawCircle(param1:int, param2:int, param3:int, param4:int, param5:BitmapData) : void
- {
- var _loc6_:int = 0;
- var _loc7_:Number = NaN;
- _loc6_ = 0;
- while(_loc6_ < param3)
- {
- _loc7_ = 0;
- while(_loc7_ < 2 * Math.PI)
- {
- param5.setPixel(param1 + Math.cos(_loc7_) * param3,param2 + Math.sin(_loc7_) * param3,param4);
- _loc7_ += 0.1;
- }
- _loc6_++;
- }
- }
-
- internal function die() : void
- {
- var _loc1_:int = 0;
- var _loc2_:int = 0;
- var _loc3_:int = 0;
- var _loc4_:int = 0;
- var _loc5_:int = 0;
- var _loc6_:Rectangle = null;
- var _loc7_:int = 0;
- _loc1_ = 0;
- while(_loc1_ < 700)
- {
- _loc2_ = Math.random() * 150 - 75;
- _loc3_ = Math.random() * 150 - 75;
- _loc4_ = Math.random() * 16 - 8;
- _loc5_ = Math.random() * 16 - 8;
- _loc6_ = new Rectangle(x + _loc2_,y + _loc3_,_loc4_,_loc5_);
- _loc7_ = 32072 + (Math.random() * 250 - 125 << 8);
- blood.fillRect(_loc6_,_loc7_);
- _loc1_++;
- }
- place();
- }
-
- internal function update(param1:*) : void
- {
- --respawn;
- if(respawn == 0)
- {
- visible = true;
- }
- if(respawn < 0)
- {
- velx = Math.random() * 4 - 2;
- vely = Math.random() * 4 - 2;
- if(player.x < x)
- {
- velx -= 2;
- }
- if(player.x > x)
- {
- velx += 2;
- }
- if(player.y < y)
- {
- vely -= 2;
- }
- if(player.y > y)
- {
- vely += 2;
- }
- x += velx;
- y += vely;
- }
- }
- }
- }
-