home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Acao / bubble_tanks_2.swf / scripts / __Packages / Vector.as < prev    next >
Encoding:
Text File  |  2008-09-02  |  2.3 KB  |  100 lines

  1. class Vector
  2. {
  3.    var _x;
  4.    var _y;
  5.    function Vector()
  6.    {
  7.       this._x = 0;
  8.       this._y = 0;
  9.    }
  10.    function Add(rightSide)
  11.    {
  12.       this._x += rightSide._x;
  13.       this._y += rightSide._y;
  14.    }
  15.    function Scale(magnitude)
  16.    {
  17.       this._x *= magnitude;
  18.       this._y *= magnitude;
  19.    }
  20.    function GetLength()
  21.    {
  22.       var _loc2_ = this._x * this._x + this._y * this._y;
  23.       return Math.sqrt(_loc2_);
  24.    }
  25.    function ConvertToUnitVector()
  26.    {
  27.       var _loc2_ = this.GetLength();
  28.       if(_loc2_ != 0)
  29.       {
  30.          this._x /= _loc2_;
  31.          this._y /= _loc2_;
  32.       }
  33.    }
  34.    function GetAngle()
  35.    {
  36.       var _loc2_ = Math.atan2(this._y,this._x);
  37.       var _loc3_ = 360 * _loc2_ / 6.283185307179586;
  38.       return _loc3_;
  39.    }
  40.    function AngleToAlign(dblGivenAngle, dblVelocity, dblTurnSpeed)
  41.    {
  42.       var _loc5_ = 0;
  43.       var _loc2_ = this.GetAngle();
  44.       var _loc3_ = 0;
  45.       if(dblGivenAngle >= 0)
  46.       {
  47.          _loc5_ = dblGivenAngle - 180;
  48.          if(_loc2_ < dblGivenAngle && _loc2_ > _loc5_)
  49.          {
  50.             _loc3_ = (- dblTurnSpeed) * dblVelocity;
  51.             if(_loc2_ - dblGivenAngle > _loc3_)
  52.             {
  53.                _loc3_ = _loc2_ - dblGivenAngle;
  54.             }
  55.          }
  56.          else
  57.          {
  58.             _loc3_ = dblTurnSpeed * dblVelocity;
  59.             if(_loc2_ >= 0)
  60.             {
  61.                if(_loc2_ != _loc5_)
  62.                {
  63.                   if(_loc2_ - dblGivenAngle < _loc3_)
  64.                   {
  65.                      _loc3_ = _loc2_ - dblGivenAngle;
  66.                   }
  67.                }
  68.             }
  69.          }
  70.       }
  71.       else
  72.       {
  73.          _loc5_ = dblGivenAngle + 180;
  74.          if(_loc2_ < _loc5_ && _loc2_ > dblGivenAngle)
  75.          {
  76.             _loc3_ = dblTurnSpeed * dblVelocity;
  77.             if(_loc2_ - dblGivenAngle < _loc3_)
  78.             {
  79.                _loc3_ = _loc2_ - dblGivenAngle;
  80.             }
  81.          }
  82.          else
  83.          {
  84.             _loc3_ = (- dblTurnSpeed) * dblVelocity;
  85.             if(_loc2_ < 0)
  86.             {
  87.                if(_loc2_ - dblGivenAngle > _loc3_)
  88.                {
  89.                   _loc3_ = _loc2_ - dblGivenAngle;
  90.                }
  91.             }
  92.          }
  93.       }
  94.       return _loc3_;
  95.    }
  96.    function Print()
  97.    {
  98.    }
  99. }
  100.