home *** CD-ROM | disk | FTP | other *** search
- package org.cove.ape
- {
- internal class RimParticle
- {
-
-
- private var maxTorque:Number;
-
- internal var curr:Vector;
-
- internal var prev:Vector;
-
- private var av:Number;
-
- private var wr:Number;
-
- private var sp:Number;
-
- public function RimParticle(param1:Number, param2:Number)
- {
- super();
- curr = new Vector(param1,0);
- prev = new Vector(0,0);
- sp = 0;
- av = 0;
- maxTorque = param2;
- wr = param1;
- }
-
- internal function update(param1:Number) : void
- {
- var _loc2_:Number = NaN;
- var _loc3_:Number = NaN;
- var _loc4_:Number = NaN;
- var _loc5_:Number = NaN;
- var _loc6_:Number = NaN;
- var _loc7_:Number = NaN;
- var _loc8_:Number = NaN;
- var _loc9_:Number = NaN;
- var _loc10_:Number = NaN;
- sp = Math.max(-maxTorque,Math.min(maxTorque,sp + av));
- _loc2_ = -curr.y;
- _loc3_ = curr.x;
- _loc4_ = Math.sqrt(_loc2_ * _loc2_ + _loc3_ * _loc3_);
- _loc2_ /= _loc4_;
- _loc3_ /= _loc4_;
- curr.x += sp * _loc2_;
- curr.y += sp * _loc3_;
- _loc5_ = prev.x;
- _loc6_ = prev.y;
- _loc7_ = prev.x = curr.x;
- _loc8_ = prev.y = curr.y;
- curr.x += APEngine.damping * (_loc7_ - _loc5_);
- curr.y += APEngine.damping * (_loc8_ - _loc6_);
- _loc10_ = ((_loc9_ = Math.sqrt(curr.x * curr.x + curr.y * curr.y)) - wr) / _loc9_;
- curr.x -= curr.x * _loc10_;
- curr.y -= curr.y * _loc10_;
- }
-
- internal function set speed(param1:Number) : void
- {
- sp = param1;
- }
-
- internal function get angularVelocity() : Number
- {
- return av;
- }
-
- internal function set angularVelocity(param1:Number) : void
- {
- av = param1;
- }
-
- internal function get speed() : Number
- {
- return sp;
- }
- }
- }
-