home *** CD-ROM | disk | FTP | other *** search
/ Champak 110 / jogo-disk-110.iso / Games / tobby_sucuri.swf / scripts / frame_32 / DoAction.as
Text File  |  2008-11-12  |  3KB  |  105 lines

  1. function swimKame(nthis)
  2. {
  3.    var _loc1_ = this;
  4.    var _loc2_ = nthis;
  5.    _loc1_.myNum = _loc2_.myNum;
  6.    _loc1_.px = _loc2_.px;
  7.    _loc1_.py = _loc2_.py;
  8.    _loc1_.limitHx = _loc2_._width / 2;
  9.    _loc1_.limitHy = _loc2_.limitHy;
  10.    _loc1_.ParentMC = _loc2_;
  11.    0;
  12.    _loc1_.nv = undefined;
  13.    _loc1_.initV();
  14.    _loc1_.rotation = 0;
  15.    _loc1_.pCnt = 0;
  16.    _loc1_.oldSpeed = _loc1_.speed;
  17. }
  18. swimKame.prototype.initLoc = function(nx, ny)
  19. {
  20.    this.px = nx;
  21.    this.py = ny;
  22. };
  23. swimKame.prototype.swim = function()
  24. {
  25.    var _loc1_ = this;
  26.    _loc1_.px += _loc1_.vx * _loc1_.speed;
  27.    _loc1_.py += _loc1_.vy * _loc1_.speed;
  28.    _loc1_.speed *= 0.9;
  29.    if(_loc1_.speed < 1)
  30.    {
  31.       _loc1_.initV();
  32.    }
  33.    _loc1_.wallEvasion();
  34.    if(_loc1_.vx < 0)
  35.    {
  36.       _loc1_.ParentMC._xscale = Math.abs(_loc1_.ParentMC._xscale);
  37.    }
  38.    else
  39.    {
  40.       _loc1_.ParentMC._xscale = - Math.abs(_loc1_.ParentMC._xscale);
  41.    }
  42.    return [_loc1_.px,_loc1_.py,_loc1_.rotation];
  43. };
  44. swimKame.prototype.wallEvasion = function()
  45. {
  46.    var _loc1_ = this;
  47.    var _loc2_ = _root;
  48.    if(_loc1_.px <= _loc2_.limitLeft + _loc1_.limitHx)
  49.    {
  50.       _loc1_.px = _loc2_.limitLeft + _loc1_.limitHx;
  51.       _loc1_.vx = - _loc1_.vx;
  52.       _loc1_.ParentMC.anmMC.gotoAndPlay("swim");
  53.    }
  54.    if(_loc1_.px >= _loc2_.limitRight - _loc1_.limitHx)
  55.    {
  56.       _loc1_.px = _loc2_.limitRight - _loc1_.limitHx;
  57.       _loc1_.vx = - _loc1_.vx;
  58.       _loc1_.ParentMC.anmMC.gotoAndPlay("swim");
  59.    }
  60.    if(_loc1_.py <= _loc2_.limitTop + _loc1_.limitHy)
  61.    {
  62.       _loc1_.py = _loc2_.limitTop + _loc1_.limitHy;
  63.       _loc1_.vy = - _loc1_.vy;
  64.       _loc1_.ParentMC.anmMC.gotoAndPlay("swim");
  65.    }
  66.    if(_loc1_.py >= _loc2_.limitBottom - _loc1_.limitHy)
  67.    {
  68.       _loc1_.py = _loc2_.limitBottom - _loc1_.limitHy;
  69.       _loc1_.vy = - _loc1_.vy;
  70.       _loc1_.ParentMC.anmMC.gotoAndPlay("swim");
  71.    }
  72. };
  73. swimKame.prototype.initV = function()
  74. {
  75.    var _loc3_ = this;
  76.    var _loc2_ = _root.randomInt(30) - 15;
  77.    var _loc1_ = _root.randomInt(20) - 10;
  78.    _loc3_.speed = Math.sqrt(_loc2_ * _loc2_ + _loc1_ * _loc1_);
  79.    var nv = _loc3_.normalize(_loc2_,_loc1_);
  80.    _loc3_.vx = nv.x;
  81.    _loc3_.vy = nv.y;
  82.    _loc3_.ParentMC.anmMC.gotoAndPlay("swim");
  83. };
  84. swimKame.prototype.normalize = function(nx, ny)
  85. {
  86.    var _loc2_ = ny;
  87.    var _loc3_ = nx;
  88.    var _loc1_ = Math.sqrt(_loc3_ * _loc3_ + _loc2_ * _loc2_);
  89.    if(_loc1_ > 0)
  90.    {
  91.       _loc3_ /= _loc1_;
  92.       _loc2_ /= _loc1_;
  93.    }
  94.    else
  95.    {
  96.       _loc3_ = 0;
  97.       _loc2_ = 0;
  98.    }
  99.    var nv = new Object();
  100.    nv.x = _loc3_;
  101.    nv.y = _loc2_;
  102.    nv.p = _loc1_;
  103.    return nv;
  104. };
  105.