home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Puzzle / filler.swf / scripts / org / cove / ape / RimParticle.as < prev    next >
Encoding:
Text File  |  2008-09-02  |  2.1 KB  |  81 lines

  1. package org.cove.ape
  2. {
  3.    internal class RimParticle
  4.    {
  5.        
  6.       
  7.       private var maxTorque:Number;
  8.       
  9.       internal var curr:Vector;
  10.       
  11.       internal var prev:Vector;
  12.       
  13.       private var av:Number;
  14.       
  15.       private var wr:Number;
  16.       
  17.       private var sp:Number;
  18.       
  19.       public function RimParticle(param1:Number, param2:Number)
  20.       {
  21.          super();
  22.          curr = new Vector(param1,0);
  23.          prev = new Vector(0,0);
  24.          sp = 0;
  25.          av = 0;
  26.          maxTorque = param2;
  27.          wr = param1;
  28.       }
  29.       
  30.       internal function update(param1:Number) : void
  31.       {
  32.          var _loc2_:Number = NaN;
  33.          var _loc3_:Number = NaN;
  34.          var _loc4_:Number = NaN;
  35.          var _loc5_:Number = NaN;
  36.          var _loc6_:Number = NaN;
  37.          var _loc7_:Number = NaN;
  38.          var _loc8_:Number = NaN;
  39.          var _loc9_:Number = NaN;
  40.          var _loc10_:Number = NaN;
  41.          sp = Math.max(-maxTorque,Math.min(maxTorque,sp + av));
  42.          _loc2_ = -curr.y;
  43.          _loc3_ = curr.x;
  44.          _loc4_ = Math.sqrt(_loc2_ * _loc2_ + _loc3_ * _loc3_);
  45.          _loc2_ /= _loc4_;
  46.          _loc3_ /= _loc4_;
  47.          curr.x += sp * _loc2_;
  48.          curr.y += sp * _loc3_;
  49.          _loc5_ = prev.x;
  50.          _loc6_ = prev.y;
  51.          _loc7_ = prev.x = curr.x;
  52.          _loc8_ = prev.y = curr.y;
  53.          curr.x += APEngine.damping * (_loc7_ - _loc5_);
  54.          curr.y += APEngine.damping * (_loc8_ - _loc6_);
  55.          _loc10_ = ((_loc9_ = Math.sqrt(curr.x * curr.x + curr.y * curr.y)) - wr) / _loc9_;
  56.          curr.x -= curr.x * _loc10_;
  57.          curr.y -= curr.y * _loc10_;
  58.       }
  59.       
  60.       internal function set speed(param1:Number) : void
  61.       {
  62.          sp = param1;
  63.       }
  64.       
  65.       internal function get angularVelocity() : Number
  66.       {
  67.          return av;
  68.       }
  69.       
  70.       internal function set angularVelocity(param1:Number) : void
  71.       {
  72.          av = param1;
  73.       }
  74.       
  75.       internal function get speed() : Number
  76.       {
  77.          return sp;
  78.       }
  79.    }
  80. }
  81.