home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Acao / xwung.swf / scripts / com / lofiminds / gm / Vector.as < prev   
Encoding:
Text File  |  2008-09-26  |  2.6 KB  |  119 lines

  1. package com.lofiminds.gm
  2. {
  3.    public class Vector
  4.    {
  5.        
  6.       
  7.       public var x:Number;
  8.       
  9.       public var y:Number;
  10.       
  11.       public function Vector(param1:Number = 0, param2:Number = 0)
  12.       {
  13.          super();
  14.          x = param1;
  15.          y = param2;
  16.       }
  17.       
  18.       public function cross(param1:Vector) : Number
  19.       {
  20.          return x * param1.y - y * param1.x;
  21.       }
  22.       
  23.       public function magnitude() : Number
  24.       {
  25.          return Math.sqrt(x * x + y * y);
  26.       }
  27.       
  28.       public function divEquals(param1:Number) : Vector
  29.       {
  30.          if(param1 == 0)
  31.          {
  32.             param1 = 0.0001;
  33.          }
  34.          x /= param1;
  35.          y /= param1;
  36.          return this;
  37.       }
  38.       
  39.       public function times(param1:Vector) : Vector
  40.       {
  41.          return new Vector(x * param1.x,y * param1.y);
  42.       }
  43.       
  44.       public function plusEquals(param1:Vector) : Vector
  45.       {
  46.          x += param1.x;
  47.          y += param1.y;
  48.          return this;
  49.       }
  50.       
  51.       public function dot(param1:Vector) : Number
  52.       {
  53.          return x * param1.x + y * param1.y;
  54.       }
  55.       
  56.       public function toString() : String
  57.       {
  58.          return x + " : " + y;
  59.       }
  60.       
  61.       public function normalize() : Vector
  62.       {
  63.          var _loc1_:Number = magnitude();
  64.          if(_loc1_ == 0)
  65.          {
  66.             _loc1_ = 0.0001;
  67.          }
  68.          return mult(1 / _loc1_);
  69.       }
  70.       
  71.       public function minusEquals(param1:Vector) : Vector
  72.       {
  73.          x -= param1.x;
  74.          y -= param1.y;
  75.          return this;
  76.       }
  77.       
  78.       public function copy(param1:Vector) : void
  79.       {
  80.          x = param1.x;
  81.          y = param1.y;
  82.       }
  83.       
  84.       public function multEquals(param1:Number) : Vector
  85.       {
  86.          x *= param1;
  87.          y *= param1;
  88.          return this;
  89.       }
  90.       
  91.       public function minus(param1:Vector) : Vector
  92.       {
  93.          return new Vector(x - param1.x,y - param1.y);
  94.       }
  95.       
  96.       public function plus(param1:Vector) : Vector
  97.       {
  98.          return new Vector(x + param1.x,y + param1.y);
  99.       }
  100.       
  101.       public function distance(param1:Vector) : Number
  102.       {
  103.          var _loc2_:Vector = this.minus(param1);
  104.          return _loc2_.magnitude();
  105.       }
  106.       
  107.       public function setTo(param1:Number, param2:Number) : void
  108.       {
  109.          x = param1;
  110.          y = param2;
  111.       }
  112.       
  113.       public function mult(param1:Number) : Vector
  114.       {
  115.          return new Vector(x * param1,y * param1);
  116.       }
  117.    }
  118. }
  119.