home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Acao / 2Deep.swf / scripts / frame_94 / DoAction_6.as < prev    next >
Encoding:
Text File  |  2005-08-08  |  1.9 KB  |  92 lines

  1. function Enemy()
  2. {
  3.    this.init();
  4. }
  5. delete er;
  6. var er = Enemy.prototype = new MovieClip();
  7. er.init = function()
  8. {
  9.    this.pow = Math.pow;
  10.    this.sqrt = Math.sqrt;
  11.    this.sin = Math.sin;
  12.    this.asin = Math.asin;
  13.    this.cos = Math.cos;
  14.    this.abs = Math.abs;
  15.    this.pi = 3.141592653589793;
  16.    if(this.dest == undefined)
  17.    {
  18.       this.setCourse();
  19.    }
  20.    this.attack();
  21. };
  22. er.setCourse = function()
  23. {
  24.    var rot = this._rot = random(360);
  25.    var rad = this.pi / 180 * rot;
  26.    var xram = 330 * this.cos(rad) + $middle.x;
  27.    var yram = 330 * this.sin(rad) + $middle.y;
  28.    this.dest = {x:xram,y:yram};
  29. };
  30. er.attack = function()
  31. {
  32.    if(this.t != 2)
  33.    {
  34.       this._rotation = this._rot + 90;
  35.    }
  36.    else
  37.    {
  38.       this._rotation = 180;
  39.    }
  40.    this.onEnterFrame = this.fly;
  41.    this.onAir = true;
  42. };
  43. er.fly = function()
  44. {
  45.    var x = (this._gx - this.dest.x - 15) * this.spd;
  46.    var y = (this._gy - this.dest.y - 15) * this.spd;
  47.    with(this)
  48.    {
  49.       _x -= x;
  50.       _y -= y;
  51.       _yscale = _xscale -= (_xscale - 100) * this.spd;
  52.       if(out.hitTest(_x,_y,1) == true)
  53.       {
  54.          wait();
  55.          return undefined;
  56.       }
  57.    }
  58. };
  59. er.wait = function()
  60. {
  61.    this.onAir = false;
  62.    delete this.onEnterFrame;
  63.    var rx = random(30) - 15;
  64.    var ry = random(30) - 15;
  65.    var x = $middle.x + rx;
  66.    var y = $middle.y + ry;
  67.    with(this)
  68.    {
  69.       _x = x;
  70.       _y = y;
  71.       _xscale = _yscale = 20;
  72.    }
  73.    this.sx = this._x;
  74.    this.sy = this._y;
  75.    this.bStep = 0;
  76.    return undefined;
  77. };
  78. er.kill = function()
  79. {
  80.    this.removeMovieClip();
  81. };
  82. er.bounce = function()
  83. {
  84.    this.bStep += 2;
  85.    var rad = this.pi / 180 * this.bStep;
  86.    this._x = this.sx + this.sin(rad) * 10;
  87.    this._y = this.sy + this.cos(rad) * 10;
  88. };
  89. Object.registerClass("Enemy_t1",this.Enemy);
  90. Object.registerClass("Enemy_t2",this.Enemy);
  91. Object.registerClass("Enemy_t3",this.Enemy);
  92.