home *** CD-ROM | disk | FTP | other *** search
/ One Click 21 (Special) / OC021.iso / Juegos / miniscrapercaper / miniscrapercaper.swf / scripts / frame_3 / DoAction_7.as < prev    next >
Encoding:
Text File  |  2006-02-02  |  2.3 KB  |  81 lines

  1. CShot = function(pos, v, libId, hitMonster, onHitPlayer, maxAge)
  2. {
  3.    var _loc1_ = this;
  4.    var _loc2_ = pos;
  5.    var _loc3_ = _root;
  6.    _loc3_.snd.playEvent("sBurp.wav",0.9);
  7.    _loc1_.canvas = _loc3_.levelMc.shotMc;
  8.    _loc1_.isShot = true;
  9.    _loc1_.maxAge = int(maxAge);
  10.    _loc1_.actAge = 0;
  11.    _loc1_.hitMonster = hitMonster;
  12.    _loc1_.onHitPlayer = onHitPlayer;
  13.    _loc1_.pos = {x:_loc2_.x,y:_loc2_.y};
  14.    _loc1_.origin = {x:_loc2_.x,y:_loc2_.y};
  15.    _loc1_.canvas.mcCount = int(_loc1_.canvas.mcCount) + 1;
  16.    _loc1_.mc = _loc1_.canvas.attachMovie(libId,_loc1_.canvas.mcCount,_loc1_.canvas.mcCount);
  17.    _loc1_.mc._x = _loc2_.x;
  18.    _loc1_.mc._y = _loc2_.y;
  19.    _loc1_.active = true;
  20.    _loc1_.v = Math.vectorCopy(v);
  21.    _loc1_.radius = 0;
  22.    _loc3_.shots.push(_loc1_);
  23.    if(_loc1_.v.x < 0)
  24.    {
  25.       _loc1_.mc._xscale = -100;
  26.    }
  27. };
  28. CShot.prototype.vanish = function()
  29. {
  30.    var _loc1_ = _root;
  31.    var _loc2_ = this;
  32.    _loc2_.active = false;
  33.    for(var _loc3_ in _loc1_.shots)
  34.    {
  35.       if(_loc1_.shots[_loc3_] == _loc2_)
  36.       {
  37.          _loc2_.mc.removeMovieClip();
  38.          _loc1_.shots.splice(_loc3_,1);
  39.       }
  40.    }
  41. };
  42. CShot.prototype.move = function(arrayIndex)
  43. {
  44.    var _loc1_ = this;
  45.    var _loc2_ = _root;
  46.    if(_loc1_.maxAge > 0)
  47.    {
  48.       if(_loc1_.actAge++ > _loc1_.maxAge)
  49.       {
  50.          _loc1_.vanish();
  51.       }
  52.    }
  53.    _loc1_.t = Math.vectorAdded(_loc1_.pos,_loc1_.v);
  54.    _loc2_.level.reflectMovement(_loc1_);
  55.    if(_loc1_.t.x > _loc2_.level.maxX + _loc1_.mc._width || _loc1_.t.x < _loc2_.level.minX - _loc1_.mc._width)
  56.    {
  57.       _loc1_.mc.removeMovieClip();
  58.       _loc2_.shots.splice(arrayIndex,1);
  59.    }
  60.    else
  61.    {
  62.       _loc1_.boundingRectFrom = Math.vector(Math.min(_loc1_.pos.x,_loc1_.t.x),Math.min(_loc1_.pos.y,_loc1_.t.y));
  63.       _loc1_.boundingRectTo = Math.vector(Math.max(_loc1_.pos.x,_loc1_.t.x) + _loc1_.size.x,Math.max(_loc1_.pos.y,_loc1_.t.y) + _loc1_.size.y);
  64.       if(_loc1_.hitMonster)
  65.       {
  66.          _loc2_.level.monstersCollision2(_loc1_.mc.hotspot,_loc1_);
  67.       }
  68.       MovieClip.setPos(_loc1_.mc,_loc1_.t);
  69.       Math.vectorCopyTo(_loc1_.t,_loc1_.pos);
  70.    }
  71. };
  72. moveShots = function()
  73. {
  74.    var _loc2_ = _root;
  75.    for(var _loc3_ in _loc2_.shots)
  76.    {
  77.       var _loc1_ = _loc2_.shots[_loc3_];
  78.       _loc1_.move(_loc3_);
  79.    }
  80. };
  81.